From 0e272c233d050961fe79b94f333668b900d4fbbe Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 27 Aug 2014 10:08:18 -0500 Subject: [PATCH 1/2] Add ability to detect unofficial openjdk builds. Patch by brandonwilliams, reviewed by enigmacurry for CASSANDRA-7799 --- conf/cassandra-env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh index c4c8bd59ba..354442691c 100644 --- a/conf/cassandra-env.sh +++ b/conf/cassandra-env.sh @@ -90,7 +90,7 @@ calculate_heap_sizes() java_ver_output=`"${JAVA:-java}" -version 2>&1` -jvmver=`echo "$java_ver_output" | grep 'java version' | awk -F'"' 'NR==1 {print $2}'` +jvmver=`echo "$java_ver_output" | grep '[openjdk|java] version' | awk -F'"' 'NR==1 {print $2}'` JVM_VERSION=${jvmver%_*} JVM_PATCH_VERSION=${jvmver#*_} From 36ecc69cbf3cc3734cf0602c60f101de95032a44 Mon Sep 17 00:00:00 2001 From: Aleksey Yeschenko Date: Thu, 28 Aug 2014 16:30:23 +0300 Subject: [PATCH 2/2] Forbid re-adding dropped counter columns patch by Aleksey Yeschenko; reviewed by Jonathan Ellis for CASSANDRA-7831 --- CHANGES.txt | 1 + .../apache/cassandra/cql3/statements/AlterTableStatement.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index abdd56141a..20874ac253 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.0.11: + * Forbid re-adding dropped counter columns (CASSANDRA-7831) * Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832) * Always reject inequality on the partition key without token() (CASSANDRA-7722) diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java index dfcd601145..698c8b8a66 100644 --- a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java @@ -109,6 +109,10 @@ public class AlterTableStatement extends SchemaAlteringStatement } } + // Cannot re-add a dropped counter column. See #7831. + if (meta.getDefaultValidator().isCommutative() && meta.getDroppedColumns().containsKey(columnName.key)) + throw new InvalidRequestException(String.format("Cannot re-add previously dropped counter column %s", columnName)); + AbstractType type = validator.getType(); if (type instanceof CollectionType) {