Author: gdusbabek Date: Fri Aug 13 18:00:34 2010 New Revision: 985308 URL: http://svn.apache.org/viewvc?rev=985308&view=rev Log: handle graveyard cleanups gracefully when there is nothing to delete. patch by gdusbabek, reviewed by jbellis. CASSANDRA-1378
Modified: cassandra/trunk/CHANGES.txt cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java cassandra/trunk/test/system/test_thrift_server.py Modified: cassandra/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=985308&r1=985307&r2=985308&view=diff ============================================================================== --- cassandra/trunk/CHANGES.txt (original) +++ cassandra/trunk/CHANGES.txt Fri Aug 13 18:00:34 2010 @@ -4,6 +4,8 @@ dev * add back percentage option for cache size configuration, and replace SnakeYAML with YamlBeans (CASSANDRA-1313) * restore use of mmap_index_only option (CASSANDRA-1241) + * dropping a keyspace with no column families generated an error + (CASSANDRA-1378) 0.7-beta1 Modified: cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java?rev=985308&r1=985307&r2=985308&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java Fri Aug 13 18:00:34 2010 @@ -86,6 +86,9 @@ public class CompactionManager implement { logger.debug("Cleaning up abandoned column families..."); ColumnFamily dropped = SystemTable.getDroppedCFs(); + if (dropped == null) + // there is nothing that needs to be cleaned up. + return null; Collection<IColumn> successes = new ArrayList<IColumn>(); for (IColumn col : dropped.getSortedColumns()) { Modified: cassandra/trunk/test/system/test_thrift_server.py URL: http://svn.apache.org/viewvc/cassandra/trunk/test/system/test_thrift_server.py?rev=985308&r1=985307&r2=985308&view=diff ============================================================================== --- cassandra/trunk/test/system/test_thrift_server.py (original) +++ cassandra/trunk/test/system/test_thrift_server.py Fri Aug 13 18:00:34 2010 @@ -1176,6 +1176,19 @@ class TestMutations(ThriftTester): def get_second_ks(): client.describe_keyspace('RenameKeyspace') _expect_exception(get_second_ks, NotFoundException) + + def test_create_then_drop_ks(self): + keyspace = KsDef('AddThenDrop', + strategy_class='org.apache.cassandra.locator.RackUnawareStrategy', + replication_factor=1, + cf_defs=[]) + def test_existence(): + client.describe_keyspace(keyspace.name) + _expect_exception(test_existence, NotFoundException) + client.set_keyspace('system') + client.system_add_keyspace(keyspace) + test_existence() + client.system_drop_keyspace(keyspace.name) def test_column_validators(self): ks = 'Keyspace1'