Improve error message when trying >= 2.0 on java < 1.7 Patch by brandonwilliams reviewed by thobbs for CASSANDRA-7137
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ea0c3999 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ea0c3999 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ea0c3999 Branch: refs/heads/trunk Commit: ea0c399912841821e0f604512808b0a3ce92ace9 Parents: ea7d0c8 Author: Brandon Williams <brandonwilli...@apache.org> Authored: Wed May 7 16:23:11 2014 -0500 Committer: Brandon Williams <brandonwilli...@apache.org> Committed: Wed May 7 16:23:11 2014 -0500 ---------------------------------------------------------------------- conf/cassandra-env.sh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ea0c3999/conf/cassandra-env.sh ---------------------------------------------------------------------- diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh index 3b15517..fc4fa3d 100644 --- a/conf/cassandra-env.sh +++ b/conf/cassandra-env.sh @@ -94,6 +94,12 @@ jvmver=`echo "$java_ver_output" | awk -F'"' 'NR==1 {print $2}'` JVM_VERSION=${jvmver%_*} JVM_PATCH_VERSION=${jvmver#*_} +if [ "$JVM_VERSION" \< "1.7" ] ; then + echo "Cassandra 2.0 and later require Java 7 or later." + exit 1; +fi + + jvm=`echo "$java_ver_output" | awk 'NR==2 {print $1}'` case "$jvm" in OpenJDK) @@ -162,11 +168,7 @@ JMX_PORT="7199" JVM_OPTS="$JVM_OPTS -ea" # add the jamm javaagent -if [ "$JVM_VENDOR" != "OpenJDK" -o "$JVM_VERSION" \> "1.6.0" ] \ - || [ "$JVM_VERSION" = "1.6.0" -a "$JVM_PATCH_VERSION" -ge 23 ] -then - JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.5.jar" -fi +JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.5.jar" # some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541 JVM_OPTS="$JVM_OPTS -XX:+CMSClassUnloadingEnabled" @@ -210,8 +212,9 @@ JVM_OPTS="$JVM_OPTS -XX:MaxTenuringThreshold=1" JVM_OPTS="$JVM_OPTS -XX:CMSInitiatingOccupancyFraction=75" JVM_OPTS="$JVM_OPTS -XX:+UseCMSInitiatingOccupancyOnly" JVM_OPTS="$JVM_OPTS -XX:+UseTLAB" + # note: bash evals '1.7.x' as > '1.7' so this is really a >= 1.7 jvm check -if [ "$JVM_VERSION" \> "1.7" ] && [ "$JVM_ARCH" = "64-Bit" ] ; then +if [ "$JVM_ARCH" = "64-Bit" ] ; then JVM_OPTS="$JVM_OPTS -XX:+UseCondCardMark" fi