diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index c419c4c668..d2c10a1664 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -19,6 +19,7 @@ package org.apache.cassandra.db; import java.io.File; +import java.io.FilenameFilter; import java.io.IOError; import java.io.IOException; import java.lang.management.ManagementFactory; @@ -92,6 +93,14 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean new LinkedBlockingQueue(DatabaseDescriptor.getFlushWriters()), new NamedThreadFactory("FLUSH-WRITER-POOL")); private static ExecutorService commitLogUpdater_ = new JMXEnabledThreadPoolExecutor("MEMTABLE-POST-FLUSHER"); + + private static final FilenameFilter DB_NAME_FILTER = new FilenameFilter() + { + public boolean accept(File dir, String name) + { + return name.matches("[^\\.][\\S]+?[\\.db]"); + } + }; private Set memtablesPendingFlush = new ConcurrentSkipListSet(); @@ -242,7 +251,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean for (String directory : dataFileDirectories) { File fileDir = new File(directory); - File[] files = fileDir.listFiles(); + File[] files = fileDir.listFiles(DB_NAME_FILTER); for (File file : files) { @@ -283,7 +292,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean Set fileSet = new HashSet(); for (String directory : DatabaseDescriptor.getAllDataFileLocationsForTable(table_)) { - File[] files = new File(directory).listFiles(); + File[] files = new File(directory).listFiles(DB_NAME_FILTER); for (File file : files) { if (file.isDirectory())