Class ShardedMultiWriter
java.lang.Object
org.apache.cassandra.db.compaction.unified.ShardedMultiWriter
- All Implemented Interfaces:
AutoCloseable,SSTableMultiWriter,Transactional
A
SSTableMultiWriter that splits the output sstable at the partition boundaries of the compaction
shards used by UnifiedCompactionStrategy.
This is class is similar to ShardedCompactionWriter but for flushing. Unfortunately
we currently have 2 separate writers hierarchy that are not compatible and so we must
duplicate the functionality.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.cassandra.utils.concurrent.Transactional
Transactional.AbstractTransactional -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionShardedMultiWriter(ColumnFamilyStore cfs, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, IntervalSet<CommitLogPosition> commitLogPositions, SerializationHeader header, Collection<Index.Group> indexGroups, LifecycleNewTracker lifecycleNewTracker, ShardTracker boundaries) -
Method Summary
Modifier and TypeMethodDescriptionvoidappend(UnfilteredRowIterator partition) Writes a partition in an implementation specific wayvoidclose()finish(boolean openResult) finished()longlongvoidsetOpenResult(boolean openResult)
-
Field Details
-
logger
protected static final org.slf4j.Logger logger
-
-
Constructor Details
-
ShardedMultiWriter
public ShardedMultiWriter(ColumnFamilyStore cfs, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, IntervalSet<CommitLogPosition> commitLogPositions, SerializationHeader header, Collection<Index.Group> indexGroups, LifecycleNewTracker lifecycleNewTracker, ShardTracker boundaries)
-
-
Method Details
-
append
Description copied from interface:SSTableMultiWriterWrites a partition in an implementation specific way- Specified by:
appendin interfaceSSTableMultiWriter- Parameters:
partition- the partition to append
-
finish
- Specified by:
finishin interfaceSSTableMultiWriter
-
finished
- Specified by:
finishedin interfaceSSTableMultiWriter
-
setOpenResult
- Specified by:
setOpenResultin interfaceSSTableMultiWriter
-
getFilename
- Specified by:
getFilenamein interfaceSSTableMultiWriter
-
getBytesWritten
public long getBytesWritten()- Specified by:
getBytesWrittenin interfaceSSTableMultiWriter
-
getOnDiskBytesWritten
public long getOnDiskBytesWritten()- Specified by:
getOnDiskBytesWrittenin interfaceSSTableMultiWriter
-
getTableId
- Specified by:
getTableIdin interfaceSSTableMultiWriter
-
commit
- Specified by:
commitin interfaceTransactional
-
abort
- Specified by:
abortin interfaceTransactional
-
prepareToCommit
public void prepareToCommit()- Specified by:
prepareToCommitin interfaceTransactional
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceTransactional
-