diff --git a/CHANGES.txt b/CHANGES.txt index 648200bbca..d5bb7a8453 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -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) diff --git a/NEWS.txt b/NEWS.txt index 3876c43060..57e321e83b 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -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 ------------ diff --git a/conf/cassandra-env.ps1 b/conf/cassandra-env.ps1 index 970896407f..aff0d9e1b0 100644 --- a/conf/cassandra-env.ps1 +++ b/conf/cassandra-env.ps1 @@ -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=/lib/ diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh index e82198b3c0..ea1a73634c 100644 --- a/conf/cassandra-env.sh +++ b/conf/cassandra-env.sh @@ -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" diff --git a/debian/patches/002cassandra_logdir_fix.dpatch b/debian/patches/002cassandra_logdir_fix.dpatch index 8836eb46ff..cca337cca6 100644 --- a/debian/patches/002cassandra_logdir_fix.dpatch +++ b/debian/patches/002cassandra_logdir_fix.dpatch @@ -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"