TIBCO Spotfire Statistics Server SplusServer.log shows default values as well as newly configured values for Java runtime options (like heap size)

TIBCO Spotfire Statistics Server SplusServer.log shows default values as well as newly configured values for Java runtime options (like heap size)

book

Article ID: KB0082103

calendar_today

Updated On:

Products Versions
Spotfire Statistics Services All Versions

Description

After modifying the Java runtime options used when the engine process is created, like maximum memory heap size or maximum thread stack size in the TIBCO Spotfire Statistics Server (TSSS) spserver.properties file (per the documentation for engine.java.options), after restart of the TSSS server the SplusServer.log will show both settings (default value and  newly configured value).  By default, the maximum memory heap size limit is 400MB and the maximum thread stack size limit is 1280KB unless you have specified a custom value.

For example, if you have configured the following custom values in the spserver.properties:
engine.java.options= -Xmx600m -Xss2000k
See the attached screenshot “MemorySettings_spserver.properties.png” for more details.

After restart of the TIBCO Spotfire Statistical Services server, the SplusServer.log will show the default value and the newly configured values like:
-Xss1280k -Xmx400m -Xmx600m -Xss2000k
For example, from the SplusServer.log:
2018-02-27 07:46:54,518 | DEBUG |  | SplusMessageServerWrapper | JobExecutionThreadPool-0 starting engine 1754366428-0 with command: 
"E:/TIBCO/Stats/Splus75TERR/jre/bin/javaw.exe" -Djava.awt.headless=true -Xss1280k -Xmx400m -Xmx600m -Xss2000k -classpath 
"E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/RSupport-9.11.0-13.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/DomainObjects-9.11.0-13.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/MatlabSupport-9.11.0-13.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/jmatio-20121025.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/EngineProcess-9.11.0-13.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/commons-io-2.0.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/Common-9.11.0-13.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/activemq-all-5.8.0.jar;
E:/TIBCO/Stats/Splus75TERR/engines/Terr/library/terrJava/java/terrJava.jar" com.insightful.splusserver.engine.messaging.BaseMessageEngine
This may create confusion as to whether the newly configured settings are being used by the TIBCO Spotfire Statistical Services server or if the default values are still being used.

 

Issue/Introduction

The article describes the expected behavior of log entries after modifying the default values for the JVM settings.

Resolution

The behavior is by design. In Java the rightmost instance of an argument will take precedence, so from "-Xss1280k -Xmx400m -Xmx600m -Xss2000k" the values "-Xmx600m -Xss2000k" will be used. So the TSSS appends the user supplied options to override the default values.
 
The following SplusServer.log entry can be used to verify the values actually being used:
2018-02-27 07:46:54,455 | DEBUG |  | FilePropertyManager | Read server property engine.java.options = -Xmx600m -Xss2000k

With the default memory options (without configuring anything for "engine.java.options" inside spserver.properties), the log will simply show the below entries:
2018-02-27 07:35:22,264 | DEBUG |  | FilePropertyManager | Read server property engine.java.options =
And:
2018-02-27 07:35:22,794 | DEBUG |  | SplusMessageServerWrapper | JobExecutionThreadPool-0 starting engine 422587344-0 with command: 
"E:/TIBCO/Stats/Splus75TERR/jre/bin/javaw.exe" -Djava.awt.headless=true -Xss1280k -Xmx400m  -classpath 
"E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/RSupport-9.11.0-13.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/DomainObjects-9.11.0-13.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/MatlabSupport-9.11.0-13.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/jmatio-20121025.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/EngineProcess-9.11.0-13.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/commons-io-2.0.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/Common-9.11.0-13.jar;
E:/TIBCO/Stats/Splus75TERR/tomcat/webapps/Splus75TERR/WEB-INF/lib/activemq-all-5.8.0.jar;
E:/TIBCO/Stats/Splus75TERR/engines/Terr/library/terrJava/java/terrJava.jar" com.insightful.splusserver.engine.messaging.BaseMessageEngine

Additional Information

Doc: engine.java.options External: Duplicated Java runtime options : what is the order of preference? 

Attachments

TIBCO Spotfire Statistics Server SplusServer.log shows default values as well as newly configured values for Java runtime options (like heap size) get_app