-
Notifications
You must be signed in to change notification settings - Fork 344
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to run in parallel with more than 14 nodes #1588
Comments
Here's the Gauge logs |
@cyberjaime45 I tried running
Note: Please make sure that the issues mentioned here are resolved first. |
I'm still investigating this issue, I'll get back to you when I get more info. |
Still getting the same error when trying to run with 30 streams in parallel Failed to kill plugin Html Report 4.0.9. os: process already finished I can run in parallel with up to 15 streams. More than this will result in error mentioned above. It looks it needs more time. Any help will be greatly appreciated |
This error is unhelpful, and masks the underlying error. @cyberjaime45 - is there any additional information in |
I'm going to create a sample project that points to our Saucelabs account with 30 nodes. In this way you can run it from your side and debug it. It'll take few days to set up. |
@sriv how can I send you a sample project to you guys for debugging purposes? Email will be preferable |
@cyberjaime45 can you please mention what is the version of gauge and gauge-java that worked for you with 30 nodes lastly ? will help bisecting the issue |
I believe it was: |
Given sample project works fine on my local machine with following config.
when running it consumed about 3GB of swap space. I could replicate the issue mentioned above in a docker container with swap space of about 2GB, by the moment the free space becomes 0 the error starts popping up. Since the behaviour is same even with older version of gauge and gauge-java for me, I believe it could be similar memory issue you are facing. Can you please try if having more memory solves the issue ? |
My current Ubuntu server: Before it used to work just fine. This is a wild guess, but it kind of started failing after |
Unfortunately I couldn't get it working with the lower version which do not the changes mentioned, with a system having low memory. There could be various factors affecting memory usage... like other processes taking up space etc. Please try increasing the memory with increase in number of nodes. |
Thanks. I'll have to ask Devops to increase memory. I'll get back to you with some results very soon. |
Devops adde more memory, with total of 15GB. I found something interesting. I recently updated to: With 0.7.6 I can run just 10 parallel with 15GB of RAM, however if I downgrade to 0.74 I can run up to 20 in parallel. When the script is running, I see that java dk is taking all the memory, way above 10GB. There's definitely an issue with memory consumption that it need to looked over with plugin gauge-java 0.7.4+ |
Thanks for the detailed investigation, we will try profiling to see what could be the cause. |
…auge#1588 Signed-off-by: sriv <srikanth.ddit@gmail.com>
This is an issue with gauge-java. PR for the fix: getgauge/gauge-java#433 |
…auge#1588 (#433) Signed-off-by: sriv <srikanth.ddit@gmail.com>
Gauge Java does not fix my issue. It actually made it worse. With 0.7.7 I can't event run 10 in parallel. I have to go back to Gauge java 0.7.4. With 0.7.4, I can run a lot more up to 20 in parallel. Can you guys please, take a look at the differences between 0.7.4 and newer versions? 29-04-2020 06:04:12.101 [Gauge] [INFO] Executing in 10 parallel streams. |
This is strange, because we noticed improvements in our own builds: prior to the change - https://github.com/getgauge/gauge-java/actions/runs/88826219 (41 mins runtime) post this change - https://github.com/getgauge/gauge-java/actions/runs/90043656 (23 mins)
That's what I've been doing. See getgauge/gauge-java#433 Perhaps obvious, but is the pom.xml/build.gradle pointing to |
Yes, both local machine and pom file have the same version of gauge java With Gauge 1.0.8 (I had to install gauge java 0.7.4+). I noticed I was only able to run up to 14 in parallel with machine with 7gb of memory. With gauge java 0.7.5 and 0.7.6 I noticed I was only able to run with 10 in parallel. With gauge java 0.7.7, I can't even run 10 in parallel with machine with 16gm of memory. Gauge java 0.7.4 works for me. Machine Ubuntu Gauge version: 1.0.8 When you have time, please take a look. Thanks. For now I'll stick with 0.7.4. it simply works for me. |
@cyberjaime45 - Can you please check some details for me:
I don't think memory should be an issue, unless your tests need it. It's more likely that CPU is getting hogged (pure guess). Given this is a 4 core machine, by default gauge would launch only 2 streams. You can override it, and set the streams (which you do), but when you don't have Here is a quick benchmark that I did:
Steps:
I set the constraints to use 4 CPU and 4GB memory for 30 nodes. The peak memory usage was 1GB. [note: this project has |
@sriv Bingo!!! That was it!!! I had enable_multithreading set to false. (I missed this one, my bad) Now works fine. The below is running 25 in parallel with enable_multithreading set to true.
We can put this issue to rest once and for all |
Excellent. Glad to hear that. I'll close this issue. |
Expected behavior
Previous Gauge versions used to run fine with up to 30 in parallel
Actual behavior
We run our tests using Saucelabs headless feature. Previous versions had no problems running in parallel with up to 30-35 in parallel
Currently, If select to run with more than 10 in parallel I get this following error bellow. Running with 10. works fine.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[Flash] Starting progress reporting at http://127.0.0.1:39277
Executing in 30 parallel streams.
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Failed to start runner. Timed out connecting to java
Successfully generated html-report to => ............./reports/staging/html-report/index.html
Successfully generated json-report to => ..............t/reports/staging/json-report
Specifications: 0 executed 0 passed 0 failed 0 skipped
Scenarios: 0 executed 0 passed 0 failed 0 skipped
Total time taken: 30.353s
34mINFO�[m] �[1m-----------------------------------------------------------------------
34mINFO�[m] �[1;32mBUILD SUCCESS�[m
34mINFO�[m] �[1m-----------------------------------------------------------------------
34mINFO�[m] Total time: 40.399 s
34mINFO�[m] Finished at: 2020-02-21T12:48:33-05:00
34mINFO�[m] Final Memory: 28M/393M
34mINFO�[m] �[1m------------------------------------------------------------------------�
Gauge version
The text was updated successfully, but these errors were encountered: