You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by gd...@apache.org on 2010/08/13 20:00:34 UTC
svn commit: r985308 - in /cassandra/trunk: CHANGES.txt
src/java/org/apache/cassandra/db/CompactionManager.java
test/system/test_thrift_server.py
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'