Fix compression options validation
patch by slebresne; reviewed by iamaleksey for CASSANDRA-5066
diff --git a/CHANGES.txt b/CHANGES.txt
index c9f1098..03b62c8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -7,7 +7,7 @@
* Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
* Improve error reporting when streaming ranges fail (CASSANDRA-5009)
* cqlsh: fix timestamp formatting on some platforms (CASSANDRA-5046)
- * Fix ALTER TABLE overriding compression options with defaults (CASSANDRA-4996)
+ * Fix ALTER TABLE overriding compression options with defaults (CASSANDRA-4996, 5066)
* Avoid error opening data file on startup (CASSANDRA-4984)
* Fix wrong index_options in cli 'show schema' (CASSANDRA-5008)
* Allow overriding number of available processor (CASSANDRA-4790)
diff --git a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
index c8a15d7..9be71f6 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
@@ -100,7 +100,11 @@
private static ICompressor createCompressor(Class<? extends ICompressor> compressorClass, Map<String, String> compressionOptions) throws ConfigurationException
{
if (compressorClass == null)
+ {
+ if (!compressionOptions.isEmpty())
+ throw new ConfigurationException("Unknown compression options (" + compressionOptions.keySet() + ") since no compression class found");
return null;
+ }
try
{