diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 044ea3d5a6..16dc78932c 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -83,7 +83,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean private AtomicReference binaryMemtable_; /* SSTables on disk for this column family */ - private Set ssTables_ = new TreeSet(new FileNameComparator(FileNameComparator.Descending)); + private SortedSet ssTables_ = new TreeSet(new FileNameComparator(FileNameComparator.Descending)); /* Modification lock used for protecting reads from compactions. */ private ReentrantReadWriteLock lock_ = new ReentrantReadWriteLock(true); @@ -205,11 +205,6 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean } } - List getAllSSTablesOnDisk() - { - return new ArrayList(ssTables_); - } - /* * This method is called to obtain statistics about * the Column Family represented by this Column Family @@ -1527,9 +1522,9 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean } /** not threadsafe. caller must have lock_ acquired. */ - public Set getSSTableFilenames() + public SortedSet getSSTableFilenames() { - return Collections.unmodifiableSet(ssTables_); + return Collections.unmodifiableSortedSet(ssTables_); } public ReentrantReadWriteLock.ReadLock getReadLock() diff --git a/src/java/org/apache/cassandra/db/Table.java b/src/java/org/apache/cassandra/db/Table.java index 82a456d876..f44035dd37 100644 --- a/src/java/org/apache/cassandra/db/Table.java +++ b/src/java/org/apache/cassandra/db/Table.java @@ -572,7 +572,7 @@ public class Table } /* - * Get the list of all SSTables on disk. + * Get the list of all SSTables on disk. Not safe unless you aquire the CFS readlocks! */ public List getAllSSTablesOnDisk() { @@ -582,7 +582,7 @@ public class Table { ColumnFamilyStore cfStore = columnFamilyStores_.get( columnFamily ); if ( cfStore != null ) - list.addAll( cfStore.getAllSSTablesOnDisk() ); + list.addAll(cfStore.getSSTableFilenames()); } return list; }