From 4f863be3f7d3c28d090ce5a428211906d95ff4f8 Mon Sep 17 00:00:00 2001 From: Jake Luciani Date: Wed, 5 Nov 2014 15:23:50 -0500 Subject: [PATCH] Fix Cassandra crash when running on JDK8 update 40 Patch by Michael Schuler; reviewed by Robert Stupp (CASSANDRA-8209) --- CHANGES.txt | 1 + bin/cassandra.bat | 2 +- bin/cassandra.in.sh | 2 +- build.xml | 10 +++++----- conf/cassandra-env.ps1 | 2 +- conf/cassandra-env.sh | 2 +- debian/cassandra.in.sh | 2 +- lib/jamm-0.2.6.jar | Bin 13290 -> 0 bytes lib/jamm-0.2.8.jar | Bin 0 -> 13684 bytes lib/licenses/{jamm-0.2.6.txt => jamm-0.2.8.txt} | 0 .../apache/cassandra/cql3/QueryProcessor.java | 2 +- .../org/apache/cassandra/utils/ObjectSizes.java | 3 ++- 12 files changed, 14 insertions(+), 12 deletions(-) delete mode 100644 lib/jamm-0.2.6.jar create mode 100644 lib/jamm-0.2.8.jar rename lib/licenses/{jamm-0.2.6.txt => jamm-0.2.8.txt} (100%) diff --git a/CHANGES.txt b/CHANGES.txt index a2bd3aa1a6..2b9e10cc95 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.1.2 + * Fix Cassandra crash when running on JDK8 update 40 (CASSANDRA-8209) * Optimize partitioner tokens (CASSANDRA-8230) * Improve compaction of repaired/unrepaired sstables (CASSANDRA-8004) * Make cache serializers pluggable (CASSANDRA-8096) diff --git a/bin/cassandra.bat b/bin/cassandra.bat index 31a0235139..5169c44951 100644 --- a/bin/cassandra.bat +++ b/bin/cassandra.bat @@ -54,7 +54,7 @@ if NOT DEFINED JAVA_HOME goto :err REM ----------------------------------------------------------------------------- REM JVM Opts we'll use in legacy run or installation set JAVA_OPTS=-ea^ - -javaagent:"%CASSANDRA_HOME%\lib\jamm-0.2.6.jar"^ + -javaagent:"%CASSANDRA_HOME%\lib\jamm-0.2.8.jar"^ -Xms2G^ -Xmx2G^ -XX:+HeapDumpOnOutOfMemoryError^ diff --git a/bin/cassandra.in.sh b/bin/cassandra.in.sh index 50e6eafc0e..5b4ee0f06b 100644 --- a/bin/cassandra.in.sh +++ b/bin/cassandra.in.sh @@ -48,5 +48,5 @@ done if [ "$JVM_VENDOR" != "OpenJDK" -o "$JVM_VERSION" \> "1.6.0" ] \ || [ "$JVM_VERSION" = "1.6.0" -a "$JVM_PATCH_VERSION" -ge 23 ] then - JAVA_AGENT="$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.6.jar" + JAVA_AGENT="$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.8.jar" fi diff --git a/build.xml b/build.xml index e94ded8eba..e2785c1b26 100644 --- a/build.xml +++ b/build.xml @@ -369,7 +369,7 @@ - + @@ -688,7 +688,7 @@ - + @@ -1107,7 +1107,7 @@ - + @@ -1266,7 +1266,7 @@ - + @@ -1309,7 +1309,7 @@ - + diff --git a/conf/cassandra-env.ps1 b/conf/cassandra-env.ps1 index 906db7a62c..0595cf6f26 100644 --- a/conf/cassandra-env.ps1 +++ b/conf/cassandra-env.ps1 @@ -301,7 +301,7 @@ Function SetCassandraEnvironment if (($env:JVM_VENDOR -ne "OpenJDK") -or ($env:JVM_VERSION.CompareTo("1.6.0") -eq 1) -or (($env:JVM_VERSION -eq "1.6.0") -and ($env:JVM_PATCH_VERSION.CompareTo("22") -eq 1))) { - $env:JVM_OPTS = "$env:JVM_OPTS -javaagent:""$env:CASSANDRA_HOME\lib\jamm-0.2.6.jar""" + $env:JVM_OPTS = "$env:JVM_OPTS -javaagent:""$env:CASSANDRA_HOME\lib\jamm-0.2.8.jar""" } # enable assertions. disabling this in production will give a modest diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh index 875cbeb8e6..f5669bb8d1 100644 --- a/conf/cassandra-env.sh +++ b/conf/cassandra-env.sh @@ -173,7 +173,7 @@ JMX_PORT="7199" JVM_OPTS="$JVM_OPTS -ea" # add the jamm javaagent -JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.6.jar" +JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.8.jar" # some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541 JVM_OPTS="$JVM_OPTS -XX:+CMSClassUnloadingEnabled" diff --git a/debian/cassandra.in.sh b/debian/cassandra.in.sh index efb7abbcd8..bf76cf710a 100644 --- a/debian/cassandra.in.sh +++ b/debian/cassandra.in.sh @@ -26,5 +26,5 @@ CLASSPATH="$CLASSPATH:$EXTRA_CLASSPATH" if [ "$JVM_VENDOR" != "OpenJDK" -o "$JVM_VERSION" \> "1.6.0" ] \ || [ "$JVM_VERSION" = "1.6.0" -a "$JVM_PATCH_VERSION" -ge 23 ] then - JAVA_AGENT="$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.6.jar" + JAVA_AGENT="$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.8.jar" fi diff --git a/lib/jamm-0.2.6.jar b/lib/jamm-0.2.6.jar deleted file mode 100644 index 04e5c2ef3a2795d2293f32ba96e6befc06304763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13290 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 diff --git a/lib/jamm-0.2.8.jar b/lib/jamm-0.2.8.jar new file mode 100644 index 0000000000000000000000000000000000000000..e1cb6690ac1c93da03b269d57ca8df3f493438a5 GIT binary patch literal 13684 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 cqlMemoryUsageWeigher = new EntryWeigher() diff --git a/src/java/org/apache/cassandra/utils/ObjectSizes.java b/src/java/org/apache/cassandra/utils/ObjectSizes.java index 3720385dbc..e05dcbaa70 100644 --- a/src/java/org/apache/cassandra/utils/ObjectSizes.java +++ b/src/java/org/apache/cassandra/utils/ObjectSizes.java @@ -33,7 +33,8 @@ public class ObjectSizes { private static final MemoryMeter meter = new MemoryMeter() .omitSharedBufferOverhead() - .withGuessing(MemoryMeter.Guess.FALLBACK_UNSAFE); + .withGuessing(MemoryMeter.Guess.FALLBACK_UNSAFE) + .ignoreKnownSingletons(); private static final long BUFFER_EMPTY_SIZE = measure(ByteBufferUtil.EMPTY_BYTE_BUFFER); private static final long STRING_EMPTY_SIZE = measure("");