public abstract class CompactionAwareWriter extends Transactional.AbstractTransactional implements Transactional
Transactional.AbstractTransactional.StateTransactional.AbstractTransactional| Modifier and Type | Field and Description |
|---|---|
protected ColumnFamilyStore |
cfs |
protected Directories |
directories |
protected long |
estimatedTotalKeys |
protected static org.slf4j.Logger |
logger |
protected long |
maxAge |
protected long |
minRepairedAt |
protected java.util.Set<SSTableReader> |
nonExpiredSSTables |
protected SSTableRewriter |
sstableWriter |
protected LifecycleTransaction |
txn |
| Constructor and Description |
|---|
CompactionAwareWriter(ColumnFamilyStore cfs,
Directories directories,
LifecycleTransaction txn,
java.util.Set<SSTableReader> nonExpiredSSTables,
boolean keepOriginals) |
CompactionAwareWriter(ColumnFamilyStore cfs,
Directories directories,
LifecycleTransaction txn,
java.util.Set<SSTableReader> nonExpiredSSTables,
boolean offline,
boolean keepOriginals)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
append(UnfilteredRowIterator partition)
Writes a partition in an implementation specific way
|
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 cleanup
|
protected void |
doPrepare()
Do any preparatory work prior to commit.
|
long |
estimatedKeys()
estimated number of keys we should write
|
java.util.Collection<SSTableReader> |
finish()
we are done, return the finished sstables so that the caller can mark the old ones as compacted
|
Directories |
getDirectories()
The directories we can write to
|
Directories.DataDirectory |
getWriteDirectory(java.lang.Iterable<SSTableReader> sstables,
long estimatedWriteSize)
Return a directory where we can expect expectedWriteSize to fit.
|
protected void |
maybeSwitchWriter(DecoratedKey key)
Guaranteed to be called before the first call to realAppend.
|
protected abstract boolean |
realAppend(UnfilteredRowIterator partition) |
CompactionAwareWriter |
setRepairedAt(long repairedAt) |
protected abstract void |
switchCompactionLocation(Directories.DataDirectory directory)
Implementations of this method should finish the current sstable writer and start writing to this directory.
|
abort, abort, close, commit, commit, doPreCleanup, permitRedundantTransitions, prepareToCommit, stateclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitabort, close, commit, prepareToCommitprotected static final org.slf4j.Logger logger
protected final ColumnFamilyStore cfs
protected final Directories directories
protected final java.util.Set<SSTableReader> nonExpiredSSTables
protected final long estimatedTotalKeys
protected final long maxAge
protected final long minRepairedAt
protected final SSTableRewriter sstableWriter
protected final LifecycleTransaction txn
@Deprecated public CompactionAwareWriter(ColumnFamilyStore cfs, Directories directories, LifecycleTransaction txn, java.util.Set<SSTableReader> nonExpiredSSTables, boolean offline, boolean keepOriginals)
public CompactionAwareWriter(ColumnFamilyStore cfs, Directories directories, LifecycleTransaction txn, java.util.Set<SSTableReader> nonExpiredSSTables, boolean keepOriginals)
protected java.lang.Throwable doAbort(java.lang.Throwable accumulate)
doAbort in class Transactional.AbstractTransactionalprotected java.lang.Throwable doCommit(java.lang.Throwable accumulate)
doCommit in class Transactional.AbstractTransactionalprotected void doPrepare()
Transactional.AbstractTransactionaldoPrepare in class Transactional.AbstractTransactionalpublic java.util.Collection<SSTableReader> finish()
finish in class Transactional.AbstractTransactionalpublic long estimatedKeys()
public final boolean append(UnfilteredRowIterator partition)
partition - the partition to appendprotected java.lang.Throwable doPostCleanup(java.lang.Throwable accumulate)
Transactional.AbstractTransactionaldoPostCleanup in class Transactional.AbstractTransactionalprotected abstract boolean realAppend(UnfilteredRowIterator partition)
protected void maybeSwitchWriter(DecoratedKey key)
key - protected abstract void switchCompactionLocation(Directories.DataDirectory directory)
directory - public Directories getDirectories()
public Directories.DataDirectory getWriteDirectory(java.lang.Iterable<SSTableReader> sstables, long estimatedWriteSize)
sstables - the sstables to compactpublic CompactionAwareWriter setRepairedAt(long repairedAt)
Copyright © 2018 The Apache Software Foundation