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()