Class MajorLeveledCompactionWriter
- java.lang.Object
-
- org.apache.cassandra.utils.concurrent.Transactional.AbstractTransactional
-
- org.apache.cassandra.db.compaction.writers.CompactionAwareWriter
-
- org.apache.cassandra.db.compaction.writers.MajorLeveledCompactionWriter
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,Transactional
public class MajorLeveledCompactionWriter extends CompactionAwareWriter
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.cassandra.utils.concurrent.Transactional.AbstractTransactional
Transactional.AbstractTransactional.State
-
Nested classes/interfaces inherited from interface org.apache.cassandra.utils.concurrent.Transactional
Transactional.AbstractTransactional
-
-
Field Summary
-
Fields inherited from class org.apache.cassandra.db.compaction.writers.CompactionAwareWriter
cfs, currentDirectory, directories, estimatedTotalKeys, isTransient, logger, maxAge, minRepairedAt, nonExpiredSSTables, pendingRepair, sstableWriter, txn
-
-
Constructor Summary
Constructors Constructor Description MajorLeveledCompactionWriter(ColumnFamilyStore cfs, Directories directories, LifecycleTransaction txn, java.util.Set<SSTableReader> nonExpiredSSTables, long maxSSTableSize)
MajorLeveledCompactionWriter(ColumnFamilyStore cfs, Directories directories, LifecycleTransaction txn, java.util.Set<SSTableReader> nonExpiredSSTables, long maxSSTableSize, boolean keepOriginals)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected long
getExpectedWriteSize()
boolean
realAppend(UnfilteredRowIterator partition)
protected boolean
shouldSwitchWriterInCurrentLocation(DecoratedKey key)
Returns true if the writer should be switched for reasons other than switching to a new data directory (e.g.protected long
sstableKeyCount()
Returns the key count with which created sstables should be set up.protected int
sstableLevel()
Returns the level that should be used when creating sstables.void
switchCompactionWriter(Directories.DataDirectory location, DecoratedKey nextKey)
Implementations of this method should finish the current sstable writer and start writing to this directory.-
Methods inherited from class org.apache.cassandra.db.compaction.writers.CompactionAwareWriter
append, doAbort, doCommit, doPostCleanup, doPrepare, estimatedKeys, finish, getDirectories, getSStableDirectory, getWriteDirectory, maybeSwitchLocation, maybeSwitchWriter, newWriterBuilder, setRepairedAt, sstableWriter
-
Methods inherited from class org.apache.cassandra.utils.concurrent.Transactional.AbstractTransactional
abort, abort, close, commit, commit, doPreCleanup, prepareToCommit, state
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.cassandra.utils.concurrent.Transactional
abort, close, commit, prepareToCommit
-
-
-
-
Constructor Detail
-
MajorLeveledCompactionWriter
public MajorLeveledCompactionWriter(ColumnFamilyStore cfs, Directories directories, LifecycleTransaction txn, java.util.Set<SSTableReader> nonExpiredSSTables, long maxSSTableSize)
-
MajorLeveledCompactionWriter
public MajorLeveledCompactionWriter(ColumnFamilyStore cfs, Directories directories, LifecycleTransaction txn, java.util.Set<SSTableReader> nonExpiredSSTables, long maxSSTableSize, boolean keepOriginals)
-
-
Method Detail
-
realAppend
public boolean realAppend(UnfilteredRowIterator partition)
- Overrides:
realAppend
in classCompactionAwareWriter
-
shouldSwitchWriterInCurrentLocation
protected boolean shouldSwitchWriterInCurrentLocation(DecoratedKey key)
Description copied from class:CompactionAwareWriter
Returns true if the writer should be switched for reasons other than switching to a new data directory (e.g. because an sstable size limit has been reached).- Specified by:
shouldSwitchWriterInCurrentLocation
in classCompactionAwareWriter
-
switchCompactionWriter
public void switchCompactionWriter(Directories.DataDirectory location, DecoratedKey nextKey)
Description copied from class:CompactionAwareWriter
Implementations of this method should finish the current sstable writer and start writing to this directory.Called once before starting to append and then whenever we see a need to start writing to another directory.
- Overrides:
switchCompactionWriter
in classCompactionAwareWriter
-
sstableLevel
protected int sstableLevel()
Description copied from class:CompactionAwareWriter
Returns the level that should be used when creating sstables.- Overrides:
sstableLevel
in classCompactionAwareWriter
-
sstableKeyCount
protected long sstableKeyCount()
Description copied from class:CompactionAwareWriter
Returns the key count with which created sstables should be set up.- Specified by:
sstableKeyCount
in classCompactionAwareWriter
-
getExpectedWriteSize
protected long getExpectedWriteSize()
- Overrides:
getExpectedWriteSize
in classCompactionAwareWriter
-
-