Ignition.conf Java Additional Parameters recommendations

Hello community.

Yesterday I tried to upgrade one of the Gateways I maintain from 8.1.28 to 8.1.35 but the Ignition Service failed to start. After looking at the logs it was clear that a Java Additional Parameter inherited from previous versions was the culprit.

I started looking at all of our Gateways' ignition.conf settings and found big differences between them, so I come to ask for recommendations.

Example 1:

# Java Additional Parameters
wrapper.java.additional.1=-Ddata.dir=data
#wrapper.java.additional.2=-Xdebug
#wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000

Example 2:

# Java Additional Parameters
#wrapper.java.additional.1=-XX:PermSize=64m
#wrapper.java.additional.2=-XX:MaxPermSize=128m
wrapper.java.additional.3=-XX:+UseConcMarkSweepGC
#wrapper.java.additional.4=-XX:+CMSClassUnloadingEnabled
#wrapper.java.additional.5=-XX:+CMSPermGenSweepingEnabled
wrapper.java.additional.6=-Ddata.dir=data
wrapper.java.additional.7=-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false
#wrapper.java.additional.8=-Xdebug
#wrapper.java.additional.9=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

Example 3:

# Java Additional Parameters
wrapper.java.additional.1=-XX:+UseConcMarkSweepGC
#wrapper.java.additional.2=-XX:+CMSClassUnloadingEnabled
wrapper.java.additional.3=-Ddata.dir=data
wrapper.java.additional.4=-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false
#wrapper.java.additional.5=-Xdebug
#wrapper.java.additional.6=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
wrapper.java.additional.7=-Dedition=

In the docs I could only find a suggestion on how to modify Java Additional Parameters.

Would it be possible to make the installer "smart" enough to remove or flag problematic settings?

E.g., UseConcMarkSweepGC inherited from Ignition 7.

Apparently one can only have -Ddata.dir=data as the only additional parameter, but I am wondering if there are any recommendations from IA.

Thanks.

Look at whatever a fresh install Ignition of 8.1.x does, and do that.

1 Like

Here's one taken from the docs.

Add parameters like this:

wrapper.java.additional. 1 = - Ddata. dir = data
#wrapper.java.additional.2=-Xdebug
#wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000
wrapper.java.additional. 2 = - some.thing = foo
wrapper.java.additional. 3 = - some.other.thing = bar

Avoid skipping commented numbers:

wrapper.java.additional. 1 = - Ddata. dir = data
#wrapper.java.additional.2=-Xdebug
#wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000
wrapper.java.additional. 4 = - some.thing = foo

8.1.35's fresh ignition.conf looks like this:

# Java Additional Parameters
wrapper.java.additional.1=-Ddata.dir=data
wrapper.java.additional.2=--add-opens=java.base/java.lang=ALL-UNNAMED
wrapper.java.additional.3=--add-opens=java.base/java.io=ALL-UNNAMED
wrapper.java.additional.4=--add-opens=java.base/java.security.cert=ALL-UNNAMED
wrapper.java.additional.5=--add-opens=java.base/java.util=ALL-UNNAMED
wrapper.java.additional.6=--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
#wrapper.java.additional.6=-Xdebug
#wrapper.java.additional.7=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000

There must be some kind of upgrade logic in the installer, because those params became necessary starting with 8.1.33 when we upgraded to JDK 17.

I wouldn't be surprised if it can't handle all the permutations of all the old or custom parameters it might encounter.

You certainly don't need these any more in Ignition 8:

  • -XX:+UseConcMarkSweepGC
  • -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false

or anything that's commented out, really.

1 Like