Enable GC logging by default

patch by Chris Lohfink; reviewed by aweisberg for CASSANDRA-10140
This commit is contained in:
Ariel Weisberg 2015-12-29 14:32:18 -05:00 committed by Sylvain Lebresne
parent 3a0be2540b
commit c04bf2a9bb
5 changed files with 45 additions and 31 deletions

View File

@ -1,4 +1,5 @@
2.2.5
* Enable GC logging by default
* Optimize pending range computation (CASSANDRA-9258)
* Skip commit log and saved cache directories in SSTable version startup check (CASSANDRA-10902)
* drop/alter user should be case sensitive (CASSANDRA-10817)

View File

@ -33,6 +33,8 @@ Operations
"rack1". To override this behaviour use -Dcassandra.ignore_rack=true and/or
-Dcassandra.ignore_dc=true.
- Reloading the configuration file of GossipingPropertyFileSnitch has been disabled.
- GC logging is now enabled by default (but you can disable it if you want by
commenting the relevant lines of the cassandra-env file).
New features
------------

View File

@ -416,24 +416,23 @@ Function SetCassandraEnvironment
$env:JVM_OPTS="$env:JVM_OPTS -XX:+CMSParallelInitialMarkEnabled -XX:+CMSEdenChunksRecordAlways"
}
# GC logging options -- uncomment to enable
# $env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintGCDetails"
# $env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintGCDateStamps"
# $env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintHeapAtGC"
# $env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintTenuringDistribution"
# $env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintGCApplicationStoppedTime"
# $env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintPromotionFailure"
# GC logging options
$env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintGCDetails"
$env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintGCDateStamps"
$env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintHeapAtGC"
$env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintTenuringDistribution"
$env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintGCApplicationStoppedTime"
$env:JVM_OPTS="$env:JVM_OPTS -XX:+PrintPromotionFailure"
# $env:JVM_OPTS="$env:JVM_OPTS -XX:PrintFLSStatistics=1"
$env:JVM_OPTS="$env:JVM_OPTS -Xloggc:$env:CASSANDRA_HOME/logs/gc.log"
$env:JVM_OPTS="$env:JVM_OPTS -XX:+UseGCLogFileRotation"
$env:JVM_OPTS="$env:JVM_OPTS -XX:NumberOfGCLogFiles=10"
$env:JVM_OPTS="$env:JVM_OPTS -XX:GCLogFileSize=10M"
# if using version before JDK 6u34 or 7u2 use this instead of log rotation
# $currentDate = (Get-Date).ToString('yyyy.MM.dd')
# $env:JVM_OPTS="$env:JVM_OPTS -Xloggc:$env:CASSANDRA_HOME/logs/gc-$currentDate.log"
# If you are using JDK 6u34 7u2 or later you can enable GC log rotation
# don't stick the date in the log name if rotation is on.
# $env:JVM_OPTS="$env:JVM_OPTS -Xloggc:$env:CASSANDRA_HOME/logs/gc.log"
# $env:JVM_OPTS="$env:JVM_OPTS -XX:+UseGCLogFileRotation"
# $env:JVM_OPTS="$env:JVM_OPTS -XX:NumberOfGCLogFiles=10"
# $env:JVM_OPTS="$env:JVM_OPTS -XX:GCLogFileSize=10M"
# Configure the following for JEMallocAllocator and if jemalloc is not available in the system
# library path.
# set LD_LIBRARY_PATH=<JEMALLOC_HOME>/lib/

View File

@ -232,21 +232,21 @@ if [ "$JVM_ARCH" = "64-Bit" ] ; then
JVM_OPTS="$JVM_OPTS -XX:+UseCondCardMark"
fi
# GC logging options -- uncomment to enable
# JVM_OPTS="$JVM_OPTS -XX:+PrintGCDetails"
# JVM_OPTS="$JVM_OPTS -XX:+PrintGCDateStamps"
# JVM_OPTS="$JVM_OPTS -XX:+PrintHeapAtGC"
# JVM_OPTS="$JVM_OPTS -XX:+PrintTenuringDistribution"
# JVM_OPTS="$JVM_OPTS -XX:+PrintGCApplicationStoppedTime"
# JVM_OPTS="$JVM_OPTS -XX:+PrintPromotionFailure"
# JVM_OPTS="$JVM_OPTS -XX:PrintFLSStatistics=1"
# GC logging options
JVM_OPTS="$JVM_OPTS -XX:+PrintGCDetails"
JVM_OPTS="$JVM_OPTS -XX:+PrintGCDateStamps"
JVM_OPTS="$JVM_OPTS -XX:+PrintHeapAtGC"
JVM_OPTS="$JVM_OPTS -XX:+PrintTenuringDistribution"
JVM_OPTS="$JVM_OPTS -XX:+PrintGCApplicationStoppedTime"
JVM_OPTS="$JVM_OPTS -XX:+PrintPromotionFailure"
#JVM_OPTS="$JVM_OPTS -XX:PrintFLSStatistics=1"
JVM_OPTS="$JVM_OPTS -Xloggc:${CASSANDRA_HOME}/logs/gc.log"
JVM_OPTS="$JVM_OPTS -XX:+UseGCLogFileRotation"
JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10"
JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M"
# if using version before JDK 6u34 or 7u2 use this instead of log rotation
# JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc-`date +%s`.log"
# If you are using JDK 6u34 7u2 or later you can enable GC log rotation
# don't stick the date in the log name if rotation is on.
# JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc.log"
# JVM_OPTS="$JVM_OPTS -XX:+UseGCLogFileRotation"
# JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10"
# JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M"
# uncomment to have Cassandra JVM listen for remote debuggers/profilers on port 1414
# JVM_OPTS="$JVM_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414"

View File

@ -6,9 +6,9 @@
@DPATCH@
diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' cassandra~/bin/cassandra cassandra/bin/cassandra
--- cassandra~/bin/cassandra 2014-09-15 19:42:28.000000000 -0500
+++ cassandra/bin/cassandra 2014-09-15 21:15:15.627505503 -0500
@@ -134,7 +134,7 @@
--- cassandra~/bin/cassandra 2015-10-27 14:15:10.718076265 -0500
+++ cassandra/bin/cassandra 2015-10-27 14:23:10.000000000 -0500
@@ -139,7 +139,7 @@
props="$3"
class="$4"
cassandra_parms="-Dlogback.configurationFile=logback.xml"
@ -17,3 +17,15 @@ diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch'
cassandra_parms="$cassandra_parms -Dcassandra.storagedir=$cassandra_storagedir"
if [ "x$pidpath" != "x" ]; then
diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' cassandra~/conf/cassandra-env.sh cassandra/conf/cassandra-env.sh
--- cassandra~/conf/cassandra-env.sh 2015-10-27 14:20:22.990840135 -0500
+++ cassandra/conf/cassandra-env.sh 2015-10-27 14:24:03.210202234 -0500
@@ -288,7 +288,7 @@
JVM_OPTS="$JVM_OPTS -XX:+PrintPromotionFailure"
#JVM_OPTS="$JVM_OPTS -XX:PrintFLSStatistics=1"
-JVM_OPTS="$JVM_OPTS -Xloggc:${CASSANDRA_HOME}/logs/gc.log"
+JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc.log"
JVM_OPTS="$JVM_OPTS -XX:+UseGCLogFileRotation"
JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10"
JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M"