Hi,

[TL;DR: no impact for 99.9% of projects]

Yesterday, we've setup a couple of environment variables on all CI instances at 
Eclipse. It ensures that default values for max heap size and java temp dir are 
set to sensible values. The environment variables are the following:
JAVA_TOOL_OPTIONS
JAVA_OPTS
MAVEN_OPTS
ANT_OPTS
The values of all these environment variables are the same: "-Xmx2G 
-Djava.io.tmpdir=/tmp/<ci_user_name>"

For most of projects, it should not change anything. But for those who are 
parsing the output of the JVM at startup, it will introduce some new outputs 
(like JDT, see [1]). Indeed, when JAVA_TOOL_OPTIONS is defined, most JDKs 
(Oracle, OpenJDK, probably IBM's as well) print the following line to stderr:

Picked up JAVA_TOOL_OPTIONS: -Xmx2G -Djava.io.tmpdir=/tmp/<ci_user_name>

This is unavoidable except if you unset the environment variable. Please don't 
do that except very extraordinary cases.

The reasoning for setting JAVA_TOOL_OPTIONS on the CI instances is to easily 
prevent java to define on its own the max heap size. By default on most JVM 
implementation, it's something like 25% of the machine RAM.

CI instances at Eclipse currently runs on machines with 64GB or 128GB of RAM, 
making the default value way too high for a shared environment. Setting 
JAVA_TOOL_OPTIONS is our only way to make the default a more sensible one for 
every single Java process spawned by builds.

Making sure that projects actually pass a sensible value is an impossible task 
otherwise. Of course, any project can decide to override the default values by 
specifying a different one on the command line. E.g., giving a different -Xmx 
on the command line will override the value from JAVA_TOOL_OPTIONS.

Thanks

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=530634

--
Mikaël Barbero - Eclipse Foundation
IT Services - Release Engineering
📱 (+33) 642 028 039
📧 mikael.barb...@eclipse-foundation.org
🐦 @mikbarbero

Attachment: signature.asc
Description: Message signed with OpenPGP

_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev

Reply via email to