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/05/04 17:59:16 UTC
svn commit: r771340 - in
/incubator/cassandra/trunk/src/java/org/apache/cassandra/db:
BinaryMemtable.java Memtable.java
Author: jbellis
Date: Mon May 4 15:59:16 2009
New Revision: 771340
URL: http://svn.apache.org/viewvc?rev=771340&view=rev
Log:
use getTempFileName / closeRename to avoid problems w/ half-written sstables.
patch by jbellis; reviewed by Eric Evans for CASSANDRA-78
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/BinaryMemtable.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/BinaryMemtable.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/BinaryMemtable.java?rev=771340&r1=771339&r2=771340&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/BinaryMemtable.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/BinaryMemtable.java Mon May 4 15:59:16 2009
@@ -139,7 +139,7 @@
return;
ColumnFamilyStore cfStore = Table.open(table_).getColumnFamilyStore(cfName_);
String directory = DatabaseDescriptor.getDataFileLocation();
- String filename = cfStore.getNextFileName();
+ String filename = cfStore.getTempFileName();
/*
* Use the SSTable to write the contents of the TreeMap
@@ -160,7 +160,7 @@
bf.add(key);
}
}
- ssTable.close(bf);
+ ssTable.closeRename(bf);
cfStore.storeLocation( ssTable.getDataFileLocation(), bf );
columnFamilies_.clear();
}
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java?rev=771340&r1=771339&r2=771340&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java Mon May 4 15:59:16 2009
@@ -378,7 +378,7 @@
}
String directory = DatabaseDescriptor.getDataFileLocation();
- String filename = cfStore.getNextFileName();
+ String filename = cfStore.getTempFileName();
SSTable ssTable = new SSTable(directory, filename, StorageService.getPartitioner());
// sort keys in the order they would be in when decorated
@@ -408,7 +408,7 @@
bf.add(key);
}
}
- ssTable.close(bf);
+ ssTable.closeRename(bf);
cfStore.onMemtableFlush(cLogCtx);
cfStore.storeLocation( ssTable.getDataFileLocation(), bf );
buffer.close();