Author: goffinet
Date: Sun Dec 6 01:46:40 2009
New Revision: 887627
URL: http://svn.apache.org/viewvc?rev=887627&view=rev
Log:
ColumnFamily.onStart() was not checking files related to only it's column
family. It was possible to remove files from other CFs thinking they were
orphans. Skip files not apart of the CF. patch by goffinet; reviewed by jbellis
for CASSANDRA-606
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=887627&r1=887626&r2=887627&view=diff
==============================================================================
---
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
(original)
+++
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
Sun Dec 6 01:46:40 2009
@@ -189,6 +189,11 @@
for (File file : files)
{
String filename = file.getName();
+ String cfName = getColumnFamilyFromFileName(filename);
+
+ // skip files that are not from this column family
+ if (!cfName.equals(columnFamily_))
+ continue;
/* look for and remove orphans. An orphan is a -Filter.db or
-Index.db with no corresponding -Data.db. */
Matcher matcher =
auxFilePattern.matcher(file.getAbsolutePath());
@@ -203,14 +208,13 @@
}
}
- if (((file.length() == 0 && !filename.endsWith("-Compacted"))
|| (filename.contains("-" + SSTable.TEMPFILE_MARKER))) &&
(filename.contains(columnFamily_)))
+ if (((file.length() == 0 && !filename.endsWith("-Compacted"))
|| (filename.contains("-" + SSTable.TEMPFILE_MARKER))))
{
FileUtils.deleteWithConfirm(file);
continue;
}
- String cfName = getColumnFamilyFromFileName(filename);
- if (cfName.equals(columnFamily_) &&
filename.contains("-Data.db"))
+ if (filename.contains("-Data.db"))
{
sstableFiles.add(file.getAbsoluteFile());
}