cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From xe...@apache.org
Subject svn commit: r1183510 - in /cassandra/branches/cassandra-0.8: CHANGES.txt src/java/org/apache/cassandra/thrift/ThriftValidation.java
Date Fri, 14 Oct 2011 21:35:54 GMT
Author: xedin
Date: Fri Oct 14 21:35:54 2011
New Revision: 1183510

URL: http://svn.apache.org/viewvc?rev=1183510&view=rev
Log:
ColumnFamily min_compaction_threshold should be >= 2
patch by Pavel Yaskevich; reviewed by Brandon Williams for CASSANDRA-3342

Modified:
    cassandra/branches/cassandra-0.8/CHANGES.txt
    cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1183510&r1=1183509&r2=1183510&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Oct 14 21:35:54 2011
@@ -14,7 +14,7 @@
    (CASSANDRA-3214)
  * (Hadoop) accept comma delimited lists of initial thrift connections
    (CASSANDRA-3185)
-
+ * ColumnFamily min_compaction_threshold should be >= 2 (CASSANDRA-3342)
 
 0.8.7
  * Kill server on wrapped OOME such as from FileChannel.map (CASSANDRA-3201)

Modified: cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java?rev=1183510&r1=1183509&r2=1183510&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java
(original)
+++ cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java
Fri Oct 14 21:35:54 2011
@@ -679,19 +679,11 @@ public class ThriftValidation
     {
         if (cf_def.isSetMin_compaction_threshold() && cf_def.isSetMax_compaction_threshold())
         {
-            if ((cf_def.min_compaction_threshold > cf_def.max_compaction_threshold)
-                && cf_def.max_compaction_threshold != 0)
-            {
-                throw new ConfigurationException("min_compaction_threshold cannot be greater
than max_compaction_threshold");
-            }
+            validateMinCompactionThreshold(cf_def.min_compaction_threshold, cf_def.max_compaction_threshold);
         }
         else if (cf_def.isSetMin_compaction_threshold())
         {
-            if (cf_def.min_compaction_threshold > CFMetaData.DEFAULT_MAX_COMPACTION_THRESHOLD)
-            {
-                throw new ConfigurationException(String.format("min_compaction_threshold
cannot be greather than max_compaction_threshold (default %d)",
-                                                               CFMetaData.DEFAULT_MAX_COMPACTION_THRESHOLD));
-            }
+            validateMinCompactionThreshold(cf_def.min_compaction_threshold, CFMetaData.DEFAULT_MAX_COMPACTION_THRESHOLD);
         }
         else if (cf_def.isSetMax_compaction_threshold())
         {
@@ -706,6 +698,16 @@ public class ThriftValidation
         }
     }
 
+    public static void validateMinCompactionThreshold(int min_compaction_threshold, int max_compaction_threshold)
throws ConfigurationException
+    {
+        if (min_compaction_threshold <= 1)
+            throw new ConfigurationException("min_compaction_threshold cannot be less than
2.");
+
+        if (min_compaction_threshold > max_compaction_threshold && max_compaction_threshold
!= 0)
+            throw new ConfigurationException(String.format("min_compaction_threshold cannot
be greater than max_compaction_threshold %d",
+                                                            max_compaction_threshold));
+    }
+
     public static void validateMemtableSettings(org.apache.cassandra.thrift.CfDef cf_def)
throws ConfigurationException
     {
         if (cf_def.isSetMemtable_flush_after_mins())



Mime
View raw message