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 |
gcBefore
public final int gcBefore
keyExistenceIsExpensive
public boolean keyExistenceIsExpensive
mergeShardBefore
public final int mergeShardBefore
CompactionController
public CompactionController(ColumnFamilyStore cfs,
java.util.Collection<SSTableReader> sstables,
int gcBefore,
boolean forceDeserialize)
getKeyspace
public java.lang.String getKeyspace()
getColumnFamily
public java.lang.String getColumnFamily()
shouldPurge
public boolean shouldPurge(DecoratedKey key)
- 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
needDeserialize
public boolean needDeserialize()
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
Copyright © 2011 The Apache Software Foundation