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:
AutoCloseable,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.StateNested classes/interfaces inherited from interface org.apache.cassandra.utils.concurrent.Transactional
Transactional.AbstractTransactional -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappend(UnfilteredRowIterator iterator) static SSTableTxnWritercreate(ColumnFamilyStore cfs, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SerializationHeader header) static SSTableTxnWritercreate(TableMetadataRef metadata, Descriptor descriptor, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SerializationHeader header, Collection<Index.Group> indexGroups, SSTable.Owner owner) static SSTableTxnWritercreateRangeAware(TableMetadataRef metadata, long keyCount, long repairedAt, TimeUUID pendingRepair, boolean isTransient, SSTableFormat<?, ?> type, SerializationHeader header) protected Throwableprotected Throwableprotected ThrowabledoPostCleanup(Throwable accumulate) perform an exception-safe post-abort cleanupprotected voidDo any preparatory work prior to commit.finish(boolean openResult) longlongGet 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, stateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.cassandra.utils.concurrent.Transactional
abort, close, commit, prepareToCommit
-
Constructor Details
-
SSTableTxnWriter
-
-
Method Details
-
append
-
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
- Specified by:
doCommitin classTransactional.AbstractTransactional
-
doAbort
- 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
Description copied from class:Transactional.AbstractTransactionalperform an exception-safe post-abort cleanup- Overrides:
doPostCleanupin classTransactional.AbstractTransactional
-
finish
-
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, Collection<Index.Group> indexGroups, SSTable.Owner owner)
-