org.apache.cassandra.db.compaction
Class CompactionController
java.lang.Object
org.apache.cassandra.db.compaction.CompactionController
public class CompactionController
- extends java.lang.Object
Manage compaction options.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
cfs
public final ColumnFamilyStore cfs
gcBefore
public final int gcBefore
mergeShardBefore
public final int mergeShardBefore
CompactionController
public CompactionController(ColumnFamilyStore cfs,
java.util.Collection<SSTableReader> sstables,
int gcBefore)
CompactionController
protected CompactionController(ColumnFamilyStore cfs,
int maxValue)
- Constructor that subclasses may use when overriding shouldPurge to not need overlappingTree
getKeyspace
public java.lang.String getKeyspace()
getColumnFamily
public java.lang.String getColumnFamily()
shouldPurge
public boolean shouldPurge(DecoratedKey key,
long maxDeletionTimestamp)
- Returns:
- true if it's okay to drop tombstones for the given row, i.e., if we know all the verisons of the row
are included in the compaction set
invalidateCachedRow
public void invalidateCachedRow(DecoratedKey key)
removeDeletedInCache
public void removeDeletedInCache(DecoratedKey key)
getCompactedRow
public AbstractCompactedRow getCompactedRow(java.util.List<SSTableIdentityIterator> rows)
- Returns:
- an AbstractCompactedRow implementation to write the merged rows in question.
If there is a single source row, the data is from a current-version sstable, we don't
need to purge and we aren't forcing deserialization for scrub, write it unchanged.
Otherwise, we deserialize, purge tombstones, and reserialize in the latest version.
getCompactedRow
public AbstractCompactedRow getCompactedRow(SSTableIdentityIterator row)
- convenience method for single-sstable compactions
close
public void close()
Copyright © 2013 The Apache Software Foundation