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 {