Package org.apache.cassandra.io.sstable
Class SSTableTxnWriter
- java.lang.Object
-
- org.apache.cassandra.utils.concurrent.Transactional.AbstractTransactional
-
- org.apache.cassandra.io.sstable.SSTableTxnWriter
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,Transactional
public class SSTableTxnWriter extends Transactional.AbstractTransactional implements Transactional
A wrapper for SSTableWriter and LifecycleTransaction to be used when the writer is the only participant in the transaction and therefore it can safely own the transaction.
-
-
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
-
-
Constructor Summary
Constructors Constructor Description SSTableTxnWriter(LifecycleTransaction txn, SSTableMultiWriter writer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
append(UnfilteredRowIterator iterator)
static SSTableTxnWriter
create(ColumnFamilyStore cfs, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SerializationHeader header)
static SSTableTxnWriter
create(TableMetadataRef metadata, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SerializationHeader header, java.util.Collection<Index.Group> indexGroups, SSTable.Owner owner)
static SSTableTxnWriter
createRangeAware(TableMetadataRef metadata, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SSTableFormat<?,?> type, SerializationHeader header)
protected java.lang.Throwable
doAbort(java.lang.Throwable accumulate)
protected java.lang.Throwable
doCommit(java.lang.Throwable accumulate)
protected java.lang.Throwable
doPostCleanup(java.lang.Throwable accumulate)
perform an exception-safe post-abort cleanupprotected void
doPrepare()
Do any preparatory work prior to commit.java.util.Collection<SSTableReader>
finish(boolean openResult)
java.lang.String
getFilename()
long
getFilePointer()
long
getOnDiskBytesWritten()
Get the amount of data written to disk.-
Methods inherited from class org.apache.cassandra.utils.concurrent.Transactional.AbstractTransactional
abort, abort, close, commit, commit, doPreCleanup, finish, 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
-
SSTableTxnWriter
public SSTableTxnWriter(LifecycleTransaction txn, SSTableMultiWriter writer)
-
-
Method Detail
-
append
public void append(UnfilteredRowIterator iterator)
-
getFilename
public java.lang.String getFilename()
-
getFilePointer
public long getFilePointer()
-
getOnDiskBytesWritten
public long getOnDiskBytesWritten()
Get the amount of data written to disk. UnlikegetFilePointer()
, which returns the position in the _uncompressed_ data, this method returns the actual file pointer position of the on disk file.- Returns:
- the amount of data already written to disk
-
doCommit
protected java.lang.Throwable doCommit(java.lang.Throwable accumulate)
- Specified by:
doCommit
in classTransactional.AbstractTransactional
-
doAbort
protected java.lang.Throwable doAbort(java.lang.Throwable accumulate)
- Specified by:
doAbort
in classTransactional.AbstractTransactional
-
doPrepare
protected void doPrepare()
Description copied from class:Transactional.AbstractTransactional
Do any preparatory work prior to commit. This method should throw any exceptions that can be encountered during the finalization of the behaviour.- Specified by:
doPrepare
in classTransactional.AbstractTransactional
-
doPostCleanup
protected java.lang.Throwable doPostCleanup(java.lang.Throwable accumulate)
Description copied from class:Transactional.AbstractTransactional
perform an exception-safe post-abort cleanup- Overrides:
doPostCleanup
in classTransactional.AbstractTransactional
-
finish
public java.util.Collection<SSTableReader> finish(boolean openResult)
-
create
public static SSTableTxnWriter create(ColumnFamilyStore cfs, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SerializationHeader header)
-
createRangeAware
public static SSTableTxnWriter createRangeAware(TableMetadataRef metadata, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SSTableFormat<?,?> type, SerializationHeader header)
-
create
public static SSTableTxnWriter create(TableMetadataRef metadata, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SerializationHeader header, java.util.Collection<Index.Group> indexGroups, SSTable.Owner owner)
-
-