- edited description
Dashboard missing JVM/Args due to duplicate -Xss256k in SOLR_OPTS
Using version 0.5.8 of this module and Solr 6.6.2 running on CentOS 7.4.
After initial puppet run I can see the JVM/Args section of the dashboard, but after a "systemctl restart solr" it disappears. In the Chrome console I get an error:
Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: arg in commandLineArgs, Duplicate key: string:-Xss256k, Duplicate value: -Xss256k
And indeed the running Solr process has dupe stack size args:
$ ps auxw | grep 256
solr 18866 1.6 45.8 2663400 229468 ? Sl 11:09 0:08 /usr/lib/jvm/jre-1.8.0/bin/java -server -Xms512m -Xmx512m -XX:NewRatio=3 -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=8 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=4 -XX:+CMSScavengeBeforeRemark -XX:PretenureSizeThreshold=64m -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=50 -XX:CMSMaxAbortablePrecleanTime=6000 -XX:+CMSParallelRemarkEnabled -XX:+ParallelRefProcEnabled -verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:/var/log/solr/solr_gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=9 -XX:GCLogFileSize=20M -DzkClientTimeout=15000 -DzkHost=zk-dev-01.aws.scholastic.co.uk:2181/solr6 -Dsolr.log.dir=/var/log/solr -Djetty.port=8983 -DSTOP.PORT=7983 -DSTOP.KEY=solrrocks -Dhost=vagrant-testing.example.com -Duser.timezone=UTC -Djetty.home=/opt/solr/server -Dsolr.solr.home=/opt/solr/server/solr -Dsolr.install.dir=/opt/solr -Dlog4j.configuration=file:/var/solr/log4j.properties -Xss256k -Xss256k -Dsolr.log.muteconsole -XX:OnOutOfMemoryError=/opt/solr/bin/oom_solr.sh 8983 /var/log/solr -jar start.jar --module=http
I think this is caused by the vendor supplied bin/solr script setting the stack size as well as the sysconfig/solr config provided by this module.
In bin/solr:
# Pick default for Java thread stack size, and then add to SOLR_OPTS
if [ -z ${SOLR_JAVA_STACK_SIZE+x} ]; then
SOLR_JAVA_STACK_SIZE='-Xss256k'
fi
SOLR_OPTS+=($SOLR_JAVA_STACK_SIZE)
In /etc/sysconfig/solr:
# Set the thread stack size
SOLR_OPTS="$SOLR_OPTS -Xss256k"
I'm not sure why it only shows up after a restart though.
I guess the simple fix is to remove the duplicate setting from the sysconfig file. I'll submit a PR.
Comments (2)
-
reporter -
- changed status to resolved
Fix
#11, remove dupe stack size from solr.in.sh.erbThe stack size setting is also in vendor supplied bin/solr script, which leads to duplicated -Xss256k args which breaks the Solr dashboard.
→ <<cset 3bfbd1cd78e1>>
- Log in to comment