You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/07/06 05:58:38 UTC

svn commit: r960772 - in /cassandra/trunk: src/java/org/apache/cassandra/config/ src/java/org/apache/cassandra/db/marshal/ src/java/org/apache/cassandra/service/ src/java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/utils/ test/system/ te...

Author: jbellis
Date: Tue Jul  6 03:58:38 2010
New Revision: 960772

URL: http://svn.apache.org/viewvc?rev=960772&view=rev
Log:
replace ColumnValidator code with AbstractType and clean up to avoid reflection on the request path.  also use final fields in ColumnDefinition.  patch by jbellis

Removed:
    cassandra/trunk/src/java/org/apache/cassandra/service/ColumnValidator.java
    cassandra/trunk/src/java/org/apache/cassandra/service/ExampleColumnValidator.java
Modified:
    cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
    cassandra/trunk/src/java/org/apache/cassandra/config/ColumnDefinition.java
    cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
    cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java
    cassandra/trunk/src/java/org/apache/cassandra/thrift/ThriftValidation.java
    cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java
    cassandra/trunk/test/system/test_thrift_server.py
    cassandra/trunk/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java
    cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java

Modified: cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java?rev=960772&r1=960771&r2=960772&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java Tue Jul  6 03:58:38 2010
@@ -36,7 +36,6 @@ import org.apache.cassandra.db.clock.Tim
 import org.apache.cassandra.db.marshal.*;
 import org.apache.cassandra.db.migration.Migration;
 import org.apache.cassandra.locator.DatacenterShardStrategy;
-import org.apache.cassandra.service.ColumnValidator;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.Pair;
 
@@ -323,34 +322,11 @@ public final class CFMetaData
         return idGen.getAndIncrement();
     }
 
-    public ColumnValidator getColumnValidator(byte[] column)
+    public AbstractType getValueValidator(byte[] column)
     {
-        ColumnValidator validator = null;
         ColumnDefinition columnDefinition = column_metadata.get(column);
-
-        if (columnDefinition != null)
-        {
-            String className = columnDefinition.validation_class;
-            if (className != null && className.trim().length() > 0)
-            {
-                try
-                {
-                    validator = (ColumnValidator) Class.forName(className).newInstance();
-                }
-                catch (ClassNotFoundException cnfe)
-                {
-                    throw new MarshalException("could not find validation class + " + className, cnfe);
-                }
-                catch (InstantiationException ie)
-                {
-                    throw new MarshalException("could not instantiate validation class " + className, ie);
-                }
-                catch (IllegalAccessException iae)
-                {
-                    throw new MarshalException("IllegalAccessException instantiating validation class " + className, iae);
-                }
-            }
-        }
-        return validator;
+        if (columnDefinition == null)
+            return null;
+        return columnDefinition.validator;
     }
 }

Modified: cassandra/trunk/src/java/org/apache/cassandra/config/ColumnDefinition.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/ColumnDefinition.java?rev=960772&r1=960771&r2=960772&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/config/ColumnDefinition.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/ColumnDefinition.java Tue Jul  6 03:58:38 2010
@@ -6,58 +6,50 @@ import java.util.*;
 import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.HashCodeBuilder;
 
+import org.apache.cassandra.db.marshal.AbstractType;
 import org.apache.cassandra.thrift.ColumnDef;
 import org.apache.cassandra.utils.FBUtilities;
 
 public class ColumnDefinition {
-    public byte[] name;
-    public String validation_class;
-    public String index_type;
-    public String index_name;
+    public final byte[] name;
+    public final AbstractType validator;
+    public final String index_type;
+    public final String index_name;
 
-    public ColumnDefinition()
-    {
-        this(null, null, null, null);
-    }
-
-    public ColumnDefinition(byte[] name, String validation_class, String index_type, String index_name)
+    public ColumnDefinition(byte[] name, String validation_class, String index_type, String index_name) throws ConfigurationException
     {
         this.name = name;
-        this.validation_class = validation_class;
         this.index_type = index_type;
         this.index_name = index_name;
+        this.validator = DatabaseDescriptor.getComparator(validation_class);
     }
 
     @Override
-    public int hashCode()
+    public boolean equals(Object o)
     {
-        return new HashCodeBuilder()
-                .append(name)
-                .append(validation_class)
-                .append(index_type)
-                .append(index_name)
-                .toHashCode();
+        if (this == o)
+            return true;
+        if (o == null || getClass() != o.getClass())
+            return false;
+
+        ColumnDefinition that = (ColumnDefinition) o;
+        if (index_name != null ? !index_name.equals(that.index_name) : that.index_name != null)
+            return false;
+        if (index_type != null ? !index_type.equals(that.index_type) : that.index_type != null)
+            return false;
+        if (!Arrays.equals(name, that.name))
+            return false;
+        return !(validator != null ? !validator.equals(that.validator) : that.validator != null);
     }
 
     @Override
-    public boolean equals(Object obj)
+    public int hashCode()
     {
-        if (obj == this)
-        {
-            return true;
-        }
-        else if (obj == null || obj.getClass() != getClass())
-        {
-            return false;
-        }
-
-        ColumnDefinition rhs = (ColumnDefinition) obj;
-        return new EqualsBuilder()
-                .append(name, rhs.name)
-                .append(validation_class, rhs.validation_class)
-                .append(index_name, rhs.index_name)
-                .append(index_type, rhs.index_type)
-                .isEquals();
+        int result = name != null ? Arrays.hashCode(name) : 0;
+        result = 31 * result + (validator != null ? validator.hashCode() : 0);
+        result = 31 * result + (index_type != null ? index_type.hashCode() : 0);
+        result = 31 * result + (index_name != null ? index_name.hashCode() : 0);
+        return result;
     }
 
     public static byte[] serialize(ColumnDefinition cd) throws IOException
@@ -66,24 +58,15 @@ public class ColumnDefinition {
         DataOutputStream out = new DataOutputStream(bout);
         out.writeInt(cd.name.length);
         out.write(cd.name);
-
-        out.writeBoolean(cd.validation_class != null);
-        if (cd.validation_class != null)
-        {
-            out.writeUTF(cd.validation_class);
-        }
+        out.writeUTF(cd.validator.getClass().getName());
 
         out.writeBoolean(cd.index_type != null);
         if (cd.index_type != null)
-        {
             out.writeUTF(cd.index_type);
-        }
 
         out.writeBoolean(cd.index_name != null);
         if (cd.index_name != null)
-        {
             out.writeUTF(cd.index_name);
-        }
 
         out.close();
         return bout.toByteArray();
@@ -91,37 +74,36 @@ public class ColumnDefinition {
 
     public static ColumnDefinition deserialize(byte[] bytes) throws IOException
     {
-        ColumnDefinition cd = new ColumnDefinition();
         DataInputStream in = new DataInputStream(new ByteArrayInputStream(bytes));
         int nameSize = in.readInt();
-        cd.name = new byte[nameSize];
-        if (in.read(cd.name, 0, nameSize) != nameSize)
-            throw new IOException("short read of ColumnDefinition name");
-
-        if (in.readBoolean())
-            cd.validation_class = in.readUTF();
+        byte[] name = new byte[nameSize];
+        in.readFully(name);
+        String validation_class = in.readUTF();
 
+        String index_type = null;
         if (in.readBoolean())
-            cd.index_type = in.readUTF();
+            index_type = in.readUTF();
 
+        String index_name = null;
         if (in.readBoolean())
-            cd.index_name = in.readUTF();
+            index_name = in.readUTF();
 
-        return cd;
+        try
+        {
+            return new ColumnDefinition(name, validation_class, index_type, index_name);
+        }
+        catch (ConfigurationException e)
+        {
+            throw new RuntimeException(e);
+        }
     }
 
-    public static ColumnDefinition fromColumnDef(ColumnDef thriftColumnDef)
+    public static ColumnDefinition fromColumnDef(ColumnDef cd) throws ConfigurationException
     {
-        assert thriftColumnDef != null;
-        ColumnDefinition cd = new ColumnDefinition();
-        cd.name = thriftColumnDef.name;
-        cd.validation_class = thriftColumnDef.validation_class;
-        cd.index_type = thriftColumnDef.index_type;
-        cd.index_name = thriftColumnDef.index_name;
-        return cd;
+        return new ColumnDefinition(cd.name, cd.validation_class, cd.index_type, cd.index_name);
     }
 
-    public static Map<byte[], ColumnDefinition> fromColumnDef(List<ColumnDef> thriftDefs)
+    public static Map<byte[], ColumnDefinition> fromColumnDef(List<ColumnDef> thriftDefs) throws ConfigurationException
     {
         if (thriftDefs == null)
             return Collections.emptyMap();

Modified: cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=960772&r1=960771&r2=960772&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java Tue Jul  6 03:58:38 2010
@@ -46,7 +46,6 @@ import org.apache.cassandra.dht.IPartiti
 import org.apache.cassandra.io.util.FileUtils;
 import org.apache.cassandra.locator.AbstractReplicationStrategy;
 import org.apache.cassandra.locator.IEndpointSnitch;
-import org.apache.cassandra.service.ColumnValidator;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.Pair;
@@ -1081,8 +1080,8 @@ public class DatabaseDescriptor
         return conf.hinted_handoff_enabled;
     }
 
-    public static ColumnValidator getColumnValidator(String keyspace, String cf, byte[] column)
+    public static AbstractType getValueValidator(String keyspace, String cf, byte[] column)
     {
-        return getCFMetaData(keyspace, cf).getColumnValidator(column);
+        return getCFMetaData(keyspace, cf).getValueValidator(column);
     }
 }

Modified: cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java?rev=960772&r1=960771&r2=960772&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java Tue Jul  6 03:58:38 2010
@@ -86,12 +86,4 @@ public abstract class AbstractType imple
         }
         return builder.toString();
     }
-
-    public final boolean equals(Object obj)
-    {
-        if (obj == null)
-            return false;
-        else
-            return obj.getClass().getName().equals(getClass().getName());
-    }
 }

Modified: cassandra/trunk/src/java/org/apache/cassandra/thrift/ThriftValidation.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/thrift/ThriftValidation.java?rev=960772&r1=960771&r2=960772&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/thrift/ThriftValidation.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/thrift/ThriftValidation.java Tue Jul  6 03:58:38 2010
@@ -34,7 +34,6 @@ import org.apache.cassandra.dht.IPartiti
 import org.apache.cassandra.dht.RandomPartitioner;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.locator.DatacenterShardStrategy;
-import org.apache.cassandra.service.ColumnValidator;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.FBUtilities;
 
@@ -52,7 +51,7 @@ public class ThriftValidation
         if (key.length > FBUtilities.MAX_UNSIGNED_SHORT)
         {
             throw new InvalidRequestException("Key length of " + key.length +
-                    " is longer than maximum of " + FBUtilities.MAX_UNSIGNED_SHORT);
+                                              " is longer than maximum of " + FBUtilities.MAX_UNSIGNED_SHORT);
         }
     }
 
@@ -148,7 +147,7 @@ public class ThriftValidation
     }
 
     private static void validateColumns(String keyspace, String columnFamilyName, byte[] superColumnName, Iterable<byte[]> column_names)
-    throws InvalidRequestException
+            throws InvalidRequestException
     {
         if (superColumnName != null)
         {
@@ -282,7 +281,7 @@ public class ThriftValidation
             if (del.predicate.slice_range != null)
                 throw new InvalidRequestException("Deletion does not yet support SliceRange predicates.");
         }
-        
+
         if (ColumnFamilyType.Standard == DatabaseDescriptor.getColumnFamilyType(keyspace, cfName) && del.super_column != null)
         {
             String msg = String.format("deletion of super_column is not possible on a standard ColumnFamily (KeySpace=%s ColumnFamily=%s Deletion=%s)", keyspace, cfName, del);
@@ -302,33 +301,27 @@ public class ThriftValidation
             validateColumns(keyspace, cfName, scName, predicate.column_names);
     }
 
-    public static void runExternalColumnVerifier(String keyspace, ColumnParent column_parent, Column column) throws InvalidRequestException
+    public static void validateColumn(String keyspace, ColumnParent column_parent, Column column) throws InvalidRequestException
     {
+        validateTtl(column);
+        validateColumns(keyspace, column_parent, Arrays.asList(column.name));
         try
         {
-            ColumnValidator validator = null;
-            validator = DatabaseDescriptor.getColumnValidator(keyspace, column_parent.column_family, column.name);
+            AbstractType validator = DatabaseDescriptor.getValueValidator(keyspace, column_parent.column_family, column.name);
             if (validator != null)
-                validator.validate(keyspace, column_parent, column);
+                validator.validate(column.value);
         }
         catch (MarshalException me)
         {
-            String msg = String.format("[%s][%s][md5(byte[])=%s] = [md5(byte[])=%s] failed validation (%s)",
-                    keyspace, column_parent.getColumn_family(),
-                    FBUtilities.hexHash("MD5", column.name),
-                    FBUtilities.hexHash("MD5", column.value),
-                    me.getMessage());
-            throw new InvalidRequestException(msg); //why doesn't IRE except a caused_by argument?
+            throw new InvalidRequestException(String.format("[%s][%s][%s] = [%s] failed validation (%s)",
+                                                            keyspace,
+                                                            column_parent.getColumn_family(),
+                                                            FBUtilities.bytesToHex(column.name),
+                                                            FBUtilities.bytesToHex(column.value),
+                                                            me.getMessage()));
         }
     }
 
-    public static void validateColumn(String keyspace, ColumnParent column_parent, Column column) throws InvalidRequestException
-    {
-        validateTtl(column);
-        validateColumns(keyspace, column_parent, Arrays.asList(column.name));
-        runExternalColumnVerifier(keyspace, column_parent, column);
-    }
-
     public static void validatePredicate(String keyspace, ColumnParent column_parent, SlicePredicate predicate)
             throws InvalidRequestException
     {

Modified: cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java?rev=960772&r1=960771&r2=960772&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java Tue Jul  6 03:58:38 2010
@@ -237,11 +237,6 @@ public class FBUtilities
         return hash.abs();        
     }
 
-    public static String hexHash(String type, byte[]... data)
-    {
-        return bytesToHex(hash(type, data));
-    }
-
     public static byte[] hash(String type, byte[]... data)
     {
     	byte[] result;

Modified: cassandra/trunk/test/system/test_thrift_server.py
URL: http://svn.apache.org/viewvc/cassandra/trunk/test/system/test_thrift_server.py?rev=960772&r1=960771&r2=960772&view=diff
==============================================================================
--- cassandra/trunk/test/system/test_thrift_server.py (original)
+++ cassandra/trunk/test/system/test_thrift_server.py Tue Jul  6 03:58:38 2010
@@ -1093,41 +1093,23 @@ class TestMutations(ThriftTester):
     def test_column_validators(self):
         ks = 'Keyspace1'
         _set_keyspace(ks)
-        cd = ColumnDef('col', 'org.apache.cassandra.service.ExampleColumnValidator', None, None)
+        cd = ColumnDef('col', 'LongType', None, None)
         cf = CfDef('Keyspace1', 'ValidatorColumnFamily', column_metadata=[cd])
         client.system_add_column_family(cf)
         dks = client.describe_keyspace(ks)
         assert 'ValidatorColumnFamily' in dks
 
         cp = ColumnParent('ValidatorColumnFamily')
-        col0 = Column('col', 'valuegood', Clock(0))
-        col1 = Column('col', 'valuebad', Clock(0))
+        col0 = Column('col', _i64(42), Clock(0))
+        col1 = Column('col', "ceci n'est pas 64bit", Clock(0))
         client.insert('key0', cp, col0, ConsistencyLevel.ONE)
         e = _expect_exception(lambda: client.insert('key1', cp, col1, ConsistencyLevel.ONE), InvalidRequestException)
         assert e.why.find("failed validation") >= 0
-        assert e.why.find("column.value.length is even") >= 0
-
-    def test_super_column_validators(self):
-        ks = 'Keyspace1'
-        _set_keyspace(ks)
-        cd = ColumnDef('col', 'org.apache.cassandra.service.ExampleColumnValidator', None, None)
-        cf = CfDef('Keyspace1', 'SuperValidatorColumnFamily', 'Super', column_metadata=[cd])
-        client.system_add_column_family(cf)
-        dks = client.describe_keyspace('Keyspace1')
-        assert 'SuperValidatorColumnFamily' in dks
-
-        cp = ColumnParent('SuperValidatorColumnFamily', 'a subcolumn')
-        col0 = Column('col', 'valuegood', Clock(0))
-        col1 = Column('col', 'valuebad', Clock(0))
-        client.insert('key0', cp, col0, ConsistencyLevel.ONE)
-        e = _expect_exception(lambda: client.insert('key1', cp, col1, ConsistencyLevel.ONE), InvalidRequestException)
-        assert e.why.find("failed validation") >= 0
-        assert e.why.find("column.value.length is even") >= 0
 
     def test_system_column_family_operations(self):
         _set_keyspace('Keyspace1')
         # create
-        cd = ColumnDef('ValidationColumn', 'randomclass', None, None)
+        cd = ColumnDef('ValidationColumn', 'BytesType', None, None)
         newcf = CfDef('Keyspace1', 'NewColumnFamily', column_metadata=[cd])
         client.system_add_column_family(newcf)
         ks1 = client.describe_keyspace('Keyspace1')
@@ -1150,7 +1132,7 @@ class TestMutations(ThriftTester):
         _set_keyspace('Keyspace1')
         
         # create
-        cd = ColumnDef('ValidationColumn', 'randomclass', None, None)
+        cd = ColumnDef('ValidationColumn', 'BytesType', None, None)
         newcf = CfDef('Keyspace1', 'NewSuperColumnFamily', 'Super', column_metadata=[cd])
         client.system_add_column_family(newcf)
         ks1 = client.describe_keyspace('Keyspace1')

Modified: cassandra/trunk/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java?rev=960772&r1=960771&r2=960772&view=diff
==============================================================================
--- cassandra/trunk/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java (original)
+++ cassandra/trunk/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java Tue Jul  6 03:58:38 2010
@@ -7,17 +7,15 @@ public class ColumnDefinitionTest
     @Test
     public void testSerializeDeserialize() throws Exception
     {
-        ColumnDefinition cd0 = new ColumnDefinition(
-                "TestColumnDefinitionName0".getBytes("UTF8"),
-                "org.apache.cassandra.config.RandomClass0",
-                "random index name 0",
-                "random index type 0");
+        ColumnDefinition cd0 = new ColumnDefinition("TestColumnDefinitionName0".getBytes("UTF8"),
+                                                    "BytesType",
+                                                    "random index type 0",
+                                                    "random index name 0");
 
-        ColumnDefinition cd1 = new ColumnDefinition(
-                "TestColumnDefinition1".getBytes("UTF8"),
-                "org.apache.cassandra.config.RandomClass1",
-                null,
-                null);
+        ColumnDefinition cd1 = new ColumnDefinition("TestColumnDefinition1".getBytes("UTF8"),
+                                                    "LongType",
+                                                    null,
+                                                    null);
 
         testSerializeDeserialize(cd0);
         testSerializeDeserialize(cd1);

Modified: cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java?rev=960772&r1=960771&r2=960772&view=diff
==============================================================================
--- cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java (original)
+++ cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java Tue Jul  6 03:58:38 2010
@@ -169,43 +169,6 @@ public class DefsTest extends CleanupHel
     }
 
     @Test
-    public void testCanAddColumnDefinitionsInColumnMetaData() throws Exception
-    {
-        String ks = "Keyspace1";
-        String cf = "ValidatorColumnFamily";
-        KSMetaData original = DatabaseDescriptor.getTableDefinition(ks);
-
-        Map<byte[], ColumnDefinition> column_metadata = new TreeMap<byte[], ColumnDefinition>(FBUtilities.byteArrayComparator);
-
-        ColumnDefinition cd0 = new ColumnDefinition();
-        cd0.name = "TestColumn1".getBytes("UTF8");
-        cd0.validation_class = "random class one";
-        cd0.index_name = null;
-        cd0.index_type = null;
-
-        ColumnDefinition cd1 = new ColumnDefinition();
-        cd1.name = "*".getBytes("UTF8");
-        cd1.validation_class = "random class two";
-        cd1.index_name = "some name";
-        cd1.index_type = "some type";
-
-        column_metadata.put(cd0.name, cd0);
-        column_metadata.put(cd1.name, cd1);
-
-        CFMetaData newCf = new CFMetaData(original.name, cf, ColumnFamilyType.Standard, ClockType.Timestamp, UTF8Type.instance, null, new TimestampReconciler(), "A New Column Family", 0, false, 1.0, 0, column_metadata);
-        assert !DatabaseDescriptor.getTableDefinition(ks).cfMetaData().containsKey(newCf.cfName);
-        new AddColumnFamily(newCf).apply();
-
-        assert DatabaseDescriptor.getTableDefinition(ks).cfMetaData().containsKey(newCf.cfName);
-        assert DatabaseDescriptor.getTableDefinition(ks).cfMetaData().get(newCf.cfName).equals(newCf);
-
-        ColumnFamilyStore store = Table.open(ks).getColumnFamilyStore(cf);
-        assert store != null;
-        store.forceBlockingFlush();
-    }
-
-
-    @Test
     public void dropCf() throws ConfigurationException, IOException, ExecutionException, InterruptedException
     {
         DecoratedKey dk = Util.dk("dropCf");