org.apache.cassandra.io
Class SSTable
java.lang.Object
org.apache.cassandra.io.SSTable
- Direct Known Subclasses:
- SSTableReader, SSTableWriter
public abstract class SSTable
- extends java.lang.Object
This class is built on top of the SequenceFile. It stores
data on disk in sorted fashion. However the sorting is upto
the application. This class expects keys to be handed to it
in sorted order.
A separate index file is maintained as well, containing the
SSTable keys and the offset into the SSTable at which they are found.
Every 1/indexInterval key is read into memory when the SSTable is opened.
Finally, a bloom filter file is also kept for the keys in each SSTable.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
FILES_ON_DISK
public static final int FILES_ON_DISK
- See Also:
- Constant Field Values
path
protected java.lang.String path
partitioner
protected IPartitioner partitioner
bf
protected BloomFilter bf
columnFamilyName
protected java.lang.String columnFamilyName
indexSummary
protected IndexSummary indexSummary
TEMPFILE_MARKER
public static final java.lang.String TEMPFILE_MARKER
- See Also:
- Constant Field Values
SSTable
public SSTable(java.lang.String filename,
IPartitioner partitioner)
parseColumnFamilyName
protected static java.lang.String parseColumnFamilyName(java.lang.String filename)
indexFilename
public static java.lang.String indexFilename(java.lang.String dataFile)
indexFilename
public java.lang.String indexFilename()
compactedFilename
protected static java.lang.String compactedFilename(java.lang.String dataFile)
deleteIfCompacted
public static boolean deleteIfCompacted(java.lang.String dataFilename)
throws java.io.IOException
- We use a ReferenceQueue to manage deleting files that have been compacted
and for which no more SSTable references exist. But this is not guaranteed
to run for each such file because of the semantics of the JVM gc. So,
we write a marker to `compactedFilename` when a file is compacted;
if such a marker exists on startup, the file should be removed.
- Returns:
- true if the file was deleted
- Throws:
java.io.IOException
compactedFilename
protected java.lang.String compactedFilename()
filterFilename
protected static java.lang.String filterFilename(java.lang.String dataFile)
filterFilename
public java.lang.String filterFilename()
getFilename
public java.lang.String getFilename()
getAllFilenames
public java.util.List<java.lang.String> getAllFilenames()
- Returns:
- full paths to all the files associated w/ this SSTable
getColumnFamilyName
public java.lang.String getColumnFamilyName()
getTableName
public java.lang.String getTableName()
parseTableName
public static java.lang.String parseTableName(java.lang.String filename)
getTotalBytes
public static long getTotalBytes(java.lang.Iterable<SSTableReader> sstables)
bytesOnDisk
public long bytesOnDisk()
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
Copyright © 2010 The Apache Software Foundation