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
ISPN-8478 Reduce build memory usage #5528
Conversation
@@ -332,6 +332,7 @@ public static Option featurePaxUrlWrap() throws Exception { | |||
public static Option commonOptions() throws Exception { | |||
return composite(karafContainer(), | |||
vmOptions("-Djava.net.preferIPv4Stack=true", "-Djgroups.bind_addr=127.0.0.1"), | |||
vmOptions("-Xmx1G", "-XX:-PrintGCDetails", "-XX:-PrintGCTimeStamps"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmmm it looks a bit weird - we set Xmx in integrationtests/osgi/pom.xml
and here we use 1GB. Could you please tell me why? And shouldn't this be parametrized (e.g. taken from pom)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are 3 JVMs running:
- The Maven JVM - uses heap size from
$MAVEN_OPTS
or 1/4 or RAM. - The Surefire fork - uses heap size from
forkJvmArgs
(2G inparent/pom.xml
),$MAVEN_FORK_OPTS
, or 1/4 of RAM if$MAVEN_FORK_OPTS
is non-empty and doesn't have-Xmx
. - The Karaf process - 1/4 of RAM.
In this PR, I'm experimenting with the heap size of all 3 JVMs. I could use the same heap size for VMs 2 and 3, but I don't think it's ok to give that much memory to the Surefire fork when all it does is start the Karaf process.
d66ec0a
to
1a7e19c
Compare
@danberindei In my env it appears the the Maven Launcher process itself crashed; the surefire fork exited normally, but the build exited with I got no dump since only the fork has the dump flags, I am re-running adding them to MAVEN_OPTS. I got 32GB of ram, in theory the lancher should have about 8Gb for itself... |
@danberindei In my env the maven launcher always crashes in the JCache TCK runner module, it allocated > 6Gb ram |
After looking at the dump (of the maven launcher), there's a Here's where it explodes:
@danberindei You mentioned we are messing up with surefire fork I/O, should we stop doing that maybe? :) |
@gustavonalle please revert Tristan's colourizing patch, #5520, and try again. |
Reverting #5520 fixes the leak |
ab053d6
to
3076ad1
Compare
ac42f34
to
031e37d
Compare
@danberindei Could you rebase? |
031e37d
to
6f79e1f
Compare
Updated! |
Was hoping for an improvement in the build stability, but the build crashed the same :) |
Re-triggering it |
@gustavonalle The timeout in as-lucene-directory is unrelated, it looks like an issue with the H2 driver and/or WildFly. Also the last build appears successful, only the commit status update failed for some reason. |
Merged, thanks @danberindei ! |
@gustavonalle Looks like 700MB of heap is not always enough for the http://ci.infinispan.org/job/Infinispan/job/PR-5580/1/console I pushed a commit to make the heap 800MB directly to master. |
https://issues.jboss.org/browse/ISPN-8478
Since I first opened the PR, the ANSI escape codes in test suite output which were causing the OSGi tests OOME have been reverted.
So I've changed the target of the PR to get the build running on the new agents that only have 4GB of RAM.