Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Code
-
Low
-
Low Hanging Fruit
-
User Report
-
All
-
None
-
Description
Possible small bug in cassandra-env.sh of Cassandra 4:
https://github.com/apache/cassandra/blob/trunk/conf/cassandra-env.sh#L98
The following command incorrect:
echo "$JVM_OPTS" | grep -q "^-[X]log:gc"
Should be:
echo "$JVM_OPTS" | grep -qe "-[X]log:gc"
The variable $JVM_OPTS not starting with -Xlog.. , and always return 1, remove ^ and add -qe will solve the problem.
It's causing that cassandra-env.sh ignoring variable of -Xlog in jvm11-server.options and jvm8-server.options
Right now, jvm11-server.options with:
-Xlog:gc=info,heap*=trace,age*=debug,safepoint=info,promotion*=trace:file=/var/log/cassandra/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=100M
Will generate process of:
-Xlog:gc=info,heap*=trace,age*=debug,safepoint=info,promotion*=trace:file=/var/log/cassandra/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=100M -Xlog:gc=info,heap*=trace,age*=debug,safepoint=info,promotion*=trace:file=/var/log/cassandra/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=10485760
With fix it will generate correct gc option of :
-Xlog:gc=info,heap*=trace,age*=debug,safepoint=info,promotion*=trace:file=/var/log/cassandra/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=100M