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 boolean
append(UnfilteredRowIterator iterator)
static SSTableTxnWriter
create(ColumnFamilyStore cfs, Descriptor descriptor, long keyCount, long repairedAt, java.util.UUID pendingRepair, boolean isTransient, int sstableLevel, SerializationHeader header)
static SSTableTxnWriter
create(ColumnFamilyStore cfs, Descriptor desc, long keyCount, long repairedAt, java.util.UUID pendingRepair, boolean isTransient, SerializationHeader header)
static SSTableTxnWriter
create(TableMetadataRef metadata, Descriptor descriptor, long keyCount, long repairedAt, java.util.UUID pendingRepair, boolean isTransient, int sstableLevel, SerializationHeader header, java.util.Collection<Index> indexes)
static SSTableTxnWriter
createRangeAware(TableMetadataRef metadata, long keyCount, long repairedAt, java.util.UUID pendingRepair, boolean isTransient, SSTableFormat.Type type, int sstableLevel, 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()
-
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()
-
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, java.util.UUID pendingRepair, boolean isTransient, int sstableLevel, SerializationHeader header)
-
createRangeAware
public static SSTableTxnWriter createRangeAware(TableMetadataRef metadata, long keyCount, long repairedAt, java.util.UUID pendingRepair, boolean isTransient, SSTableFormat.Type type, int sstableLevel, SerializationHeader header)
-
create
public static SSTableTxnWriter create(TableMetadataRef metadata, Descriptor descriptor, long keyCount, long repairedAt, java.util.UUID 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, java.util.UUID pendingRepair, boolean isTransient, SerializationHeader header)
-
-