Author: jbellis
Date: Mon Mar 28 19:15:18 2011
New Revision: 1086350

URL: http://svn.apache.org/viewvc?rev=1086350&view=rev
Log:
add actual dropped check to Memtable.flush for CASSANDRA-2381
patch by jbellis

Modified:
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/Memtable.java

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1086350&r1=1086349&r2=1086350&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 Mon Mar 28 19:15:18 2011
@@ -709,10 +709,7 @@ public class ColumnFamilyStore implement
                 return null;
             }
 
-            boolean isDropped = isIndex()
-                              ? DatabaseDescriptor.getCFMetaData(table.name, 
getParentColumnfamily()) == null
-                              : 
DatabaseDescriptor.getCFMetaData(metadata.cfId) == null;
-            if (isDropped)
+            if (isDropped())
             {
                 logger.debug("column family was dropped; no point in 
flushing");
                 return null;
@@ -768,6 +765,13 @@ public class ColumnFamilyStore implement
         }
     }
 
+    public boolean isDropped()
+    {
+        return isIndex()
+               ? DatabaseDescriptor.getCFMetaData(table.name, 
getParentColumnfamily()) == null
+               : DatabaseDescriptor.getCFMetaData(metadata.cfId) == null;
+    }
+
     void switchBinaryMemtable(DecoratedKey key, ByteBuffer buffer)
     {
         binaryMemtable.set(new BinaryMemtable(this));

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/Memtable.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/Memtable.java?rev=1086350&r1=1086349&r2=1086350&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/Memtable.java 
(original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/Memtable.java 
Mon Mar 28 19:15:18 2011
@@ -175,8 +175,11 @@ public class Memtable implements Compara
                 cfs.flushLock.lock();
                 try
                 {
-                    cfs.addSSTable(writeSortedContents());
-                    cfs.getMemtablesPendingFlush().remove(Memtable.this);
+                    if (!cfs.isDropped())
+                    {
+                        cfs.addSSTable(writeSortedContents());
+                        cfs.getMemtablesPendingFlush().remove(Memtable.this);
+                    }
                 }
                 finally
                 {


Reply via email to