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 booleanappend(UnfilteredRowIterator iterator)static SSTableTxnWritercreate(ColumnFamilyStore cfs, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, int sstableLevel, SerializationHeader header)static SSTableTxnWritercreate(ColumnFamilyStore cfs, Descriptor desc, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SerializationHeader header)static SSTableTxnWritercreate(TableMetadataRef metadata, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, int sstableLevel, SerializationHeader header, java.util.Collection<Index> indexes)static SSTableTxnWritercreateRangeAware(TableMetadataRef metadata, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SSTableFormat.Type type, int sstableLevel, SerializationHeader header)protected java.lang.ThrowabledoAbort(java.lang.Throwable accumulate)protected java.lang.ThrowabledoCommit(java.lang.Throwable accumulate)protected java.lang.ThrowabledoPostCleanup(java.lang.Throwable accumulate)perform an exception-safe post-abort cleanupprotected voiddoPrepare()Do any preparatory work prior to commit.java.util.Collection<SSTableReader>finish(boolean openResult)java.lang.StringgetFilename()longgetFilePointer()longgetOnDiskBytesWritten()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 boolean 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:
doCommitin classTransactional.AbstractTransactional
-
doAbort
protected java.lang.Throwable doAbort(java.lang.Throwable accumulate)
- Specified by:
doAbortin classTransactional.AbstractTransactional
-
doPrepare
protected void doPrepare()
Description copied from class:Transactional.AbstractTransactionalDo any preparatory work prior to commit. This method should throw any exceptions that can be encountered during the finalization of the behaviour.- Specified by:
doPreparein classTransactional.AbstractTransactional
-
doPostCleanup
protected java.lang.Throwable doPostCleanup(java.lang.Throwable accumulate)
Description copied from class:Transactional.AbstractTransactionalperform an exception-safe post-abort cleanup- Overrides:
doPostCleanupin 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, int sstableLevel, SerializationHeader header)
-
createRangeAware
public static SSTableTxnWriter createRangeAware(TableMetadataRef metadata, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SSTableFormat.Type type, int sstableLevel, SerializationHeader header)
-
create
public static SSTableTxnWriter create(TableMetadataRef metadata, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, int sstableLevel, SerializationHeader header, java.util.Collection<Index> indexes)
-
create
public static SSTableTxnWriter create(ColumnFamilyStore cfs, Descriptor desc, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SerializationHeader header)
-
-