You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2016/01/05 18:03:09 UTC

[10/19] cassandra git commit: Enable GC logging by default

Enable GC logging by default

patch by Chris Lohfink; reviewed by aweisberg for CASSANDRA-10140


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c04bf2a9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c04bf2a9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c04bf2a9

Branch: refs/heads/cassandra-3.3
Commit: c04bf2a9bb8bc48bcdf49455478836e6fd1f217d
Parents: 3a0be25
Author: Ariel Weisberg <ar...@datastax.com>
Authored: Tue Dec 29 14:32:18 2015 -0500
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Tue Jan 5 17:49:42 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                   |  1 +
 NEWS.txt                                      |  2 ++
 conf/cassandra-env.ps1                        | 27 ++++++++++-----------
 conf/cassandra-env.sh                         | 28 +++++++++++-----------
 debian/patches/002cassandra_logdir_fix.dpatch | 18 +++++++++++---
 5 files changed, 45 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c04bf2a9/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 648200b..d5bb7a8 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)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c04bf2a9/NEWS.txt
----------------------------------------------------------------------
diff --git a/NEWS.txt b/NEWS.txt
index 3876c43..57e321e 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
 ------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c04bf2a9/conf/cassandra-env.ps1
----------------------------------------------------------------------
diff --git a/conf/cassandra-env.ps1 b/conf/cassandra-env.ps1
index 9708964..aff0d9e 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=<JEMALLOC_HOME>/lib/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c04bf2a9/conf/cassandra-env.sh
----------------------------------------------------------------------
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index e82198b..ea1a736 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"

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c04bf2a9/debian/patches/002cassandra_logdir_fix.dpatch
----------------------------------------------------------------------
diff --git a/debian/patches/002cassandra_logdir_fix.dpatch b/debian/patches/002cassandra_logdir_fix.dpatch
index 8836eb4..cca337c 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"