qmetry / qaf

Quality Automation Framework for web, mobileweb, mobile native and rest web-service using Selenium, webdrier, TestNG and Java Jersey
https://qmetry.github.io/qaf
MIT License
250 stars 136 forks source link

Facing GC overhead limit exceeded issue with 3.0.0-RC3 #341

Open raviguptasmarsh opened 4 years ago

raviguptasmarsh commented 4 years ago

QAF Version

3.0.0-RC3 Java 1.8

Steps To Reproduce

When running large amount of tests (regression around 3k tests ). Was not facing the issue with 2.14-RC1. Also this error is returned after the same regression tests run for 14-15 hours, which used to take 4-5 hours before switching to 3.0.0-RC3.

I am using these these properties in my maven-surefire-plugin in pom.xml

-Xms512m -Xmx4096m -XX:MaxPermSize=1024m -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC

Is there anything that you recommend ?

Is the issue reproducible on runner?

cjayswal commented 4 years ago

Will you provide more details. Also provide stacktrace and logs from execution.

raviguptasmarsh commented 4 years ago

These screenshots are from the memory dump (scanned using MAT) taken once GC Overhead issue started. Heap size was provided as 4 gb out of which a single instance of java.lang.object[] is taking 3 GB.

image

image

The class: com.qmetry.qaf.automation.step.QAFTestStepArgumentFormatterImpl seems to be doing it:

image

image

raviguptasmarsh commented 4 years ago

Also, I would like to add that we are getting step not implemented exception liek this:

/**

*/

@QAFTestStep(description="verify {0} contains {1}")

public void verifyContains(String str0,String str1){

//TODO: remove NotYetImplementedException and call test steps

throw new NotYetImplementedException();

}

at multiple places now because of the way the step arguments are getting parsed now. Can this cause more memory utilization ?

cjayswal commented 4 years ago

@raviguptasmarsh will you try beta-3 or 4?