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());
                 }


Reply via email to