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 2009/10/12 19:07:35 UTC

svn commit: r824424 - in /incubator/cassandra/branches/cassandra-0.4: CHANGES.txt src/java/org/apache/cassandra/db/ColumnFamilyStore.java test/system/test_server.py

Author: jbellis
Date: Mon Oct 12 17:07:35 2009
New Revision: 824424

URL: http://svn.apache.org/viewvc?rev=824424&view=rev
Log:
fix subcolumn-reading code to account for tombstoned columnfamily .  patch by jbellis; tested by Ramzi Rabah for CASSANDRA-484

Modified:
    incubator/cassandra/branches/cassandra-0.4/CHANGES.txt
    incubator/cassandra/branches/cassandra-0.4/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
    incubator/cassandra/branches/cassandra-0.4/test/system/test_server.py

Modified: incubator/cassandra/branches/cassandra-0.4/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.4/CHANGES.txt?rev=824424&r1=824423&r2=824424&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.4/CHANGES.txt (original)
+++ incubator/cassandra/branches/cassandra-0.4/CHANGES.txt Mon Oct 12 17:07:35 2009
@@ -7,6 +7,7 @@
  * Fix for discarding unneeded commitlog segments (CASSANDRA-459)
  * Add SnapshotBeforeCompaction configuration option (CASSANDRA-426)
  * Fix compaction abort under insufficient disk space (CASSANDRA-473)
+ * Fix reading subcolumn slice from tombstoned CF (CASSANDRA-484)
 
 
 0.4.0

Modified: incubator/cassandra/branches/cassandra-0.4/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.4/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=824424&r1=824423&r2=824424&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.4/src/java/org/apache/cassandra/db/ColumnFamilyStore.java (original)
+++ incubator/cassandra/branches/cassandra-0.4/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Mon Oct 12 17:07:35 2009
@@ -1341,7 +1341,7 @@
         {
             QueryFilter nameFilter = new NamesQueryFilter(filter.key, new QueryPath(columnFamily_), filter.path.superColumnName);
             ColumnFamily cf = getColumnFamily(nameFilter);
-            if (cf == null)
+            if (cf == null || cf.getColumnCount() == 0)
                 return cf;
 
             assert cf.getSortedColumns().size() == 1;

Modified: incubator/cassandra/branches/cassandra-0.4/test/system/test_server.py
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.4/test/system/test_server.py?rev=824424&r1=824423&r2=824424&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.4/test/system/test_server.py (original)
+++ incubator/cassandra/branches/cassandra-0.4/test/system/test_server.py Mon Oct 12 17:07:35 2009
@@ -367,7 +367,7 @@
         _insert_simple()
         _insert_super()
 
-        # Remove the key1:Standard1 cf:
+        # Remove the key1:Standard1 cf; verify super is unaffected
         client.remove('Keyspace1', 'key1', ColumnPath('Standard1'), 3, ConsistencyLevel.ONE)
         assert _big_slice('Keyspace1', 'key1', ColumnParent('Standard1')) == []
         _verify_super()
@@ -381,6 +381,11 @@
         assert _big_slice('Keyspace1', 'key1', ColumnParent('Standard1')) == \
             [ColumnOrSuperColumn(column=Column('c1', 'value1', 4))]
 
+        # check removing the entire super cf, too.
+        client.remove('Keyspace1', 'key1', ColumnPath('Super1'), 3, ConsistencyLevel.ONE)
+        assert _big_slice('Keyspace1', 'key1', ColumnParent('Super1')) == []
+        assert _big_slice('Keyspace1', 'key1', ColumnParent('Super1', 'sc1')) == []
+
 
     def test_super_cf_remove_column(self):
         _insert_simple()