Class SymbolManagerLocalAppendableColumn<SYMBOL_TYPE extends CharSequence,DATA_TYPE>
java.lang.Object
com.illumon.iris.db.tables.appendable.BaseAppendableColumn<DATA_TYPE>
com.illumon.iris.db.tables.appendable.local.LocalAppendableColumn<DATA_TYPE>
com.illumon.iris.db.tables.appendable.local.SymbolManagerLocalAppendableColumn<SYMBOL_TYPE,DATA_TYPE>
- All Implemented Interfaces:
AppendableColumn<DATA_TYPE>,BufferedAppendable,BufferedAppendableColumn<DATA_TYPE>,TableTransactionProcessor
- Direct Known Subclasses:
SymbolLocalAppendableColumn,SymbolSetLocalAppendableColumn
public abstract class SymbolManagerLocalAppendableColumn<SYMBOL_TYPE extends CharSequence,DATA_TYPE>
extends LocalAppendableColumn<DATA_TYPE>
Superclass for local appendable columns backed by symbol managers.
Note that while we pass through the BufferedAppendable operations, we don't pass through TableTransactionProcessor
operations. In order to ensure deterministic output (for appropriately constituted symbol managers), we never use
transactions around mappings.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.illumon.iris.db.tables.appendable.local.LocalAppendableColumn
LocalAppendableColumn.ValueSupplier<DATA_TYPE> -
Field Summary
Fields inherited from class com.illumon.iris.db.tables.appendable.BaseAppendableColumn
name, typeFields inherited from interface com.illumon.iris.db.tables.appendable.AppendableColumn
DEFAULT_CHUNK_CAPACITY -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Flush all appended data to the underlying store, release any resources held, and force all appended data to be persisted to permanent storage.voidOptionally called beforeBufferedAppendable.close()to release any resources that may be released prior toBufferedAppendable.close().voidWhen recreating our files, we need to make sure that they exist, but we do not need to actually force them to disk durably.voidflush()Write all appended data to the underlying store and prepare for subsequent writes.voidforce()Force all flushed data to be persisted to permanent storage.voidrelease()Release any resources held.Methods inherited from class com.illumon.iris.db.tables.appendable.local.LocalAppendableColumn
abortTransaction, addByte, addByte, addBytes, addBytes, addChar, addChar, addChars, addComputed, addDouble, addDouble, addDoubles, addEncoded, addFloat, addFloat, addFloats, addFromBooleanChunk, addFromByteChunk, addFromCharChunk, addFromDoubleChunk, addFromFloatChunk, addFromIntChunk, addFromLongChunk, addFromObjectChunk, addFromShortChunk, addInt, addInt, addInts, addLong, addLong, addLongs, addShort, addShort, addShorts, finishTransaction, inTransaction, startTransaction, toStringMethods inherited from class com.illumon.iris.db.tables.appendable.BaseAppendableColumn
add, add, add, addBoolean, addBoolean, addBooleans, checkArrayAddBounds, encodeExternalizable, encodeSerializable, getAddHelper, getName, getTypeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.illumon.iris.db.tables.appendable.AppendableColumn
add, add, add, addBoolean, addBoolean, addBooleans, addFromArray, addFromBoxedValue, addFromBoxedValue, addFromChunk, addFromChunkSource, addFromChunkSource, addFromChunkSource, addFromColumnSource, addFromColumnSource, addFromColumnSource, addFromColumnSource, addFromDataColumn, getAddHelper, getName, getTypeMethods inherited from interface com.illumon.iris.db.tables.appendable.BufferedAppendable
maybeForce, prepareCheckpoint
-
Method Details
-
flush
public void flush()Description copied from interface:BufferedAppendableWrite all appended data to the underlying store and prepare for subsequent writes. Does not implyBufferedAppendable.force().- Specified by:
flushin interfaceBufferedAppendable- Overrides:
flushin classLocalAppendableColumn<DATA_TYPE>
-
force
public void force()Description copied from interface:BufferedAppendableForce all flushed data to be persisted to permanent storage. Will consistently and atomically persist the last prepared checkpoint in implementations that implementBufferedAppendable.prepareCheckpoint(). Does not implyBufferedAppendable.flush(), as this is a distinct operation in all implementations. May be called concurrently by threads other than the "writing thread".- Specified by:
forcein interfaceAppendableColumn<SYMBOL_TYPE extends CharSequence>- Specified by:
forcein interfaceBufferedAppendable- Overrides:
forcein classLocalAppendableColumn<DATA_TYPE>
-
ensureFileExists
public void ensureFileExists()Description copied from class:LocalAppendableColumnWhen recreating our files, we need to make sure that they exist, but we do not need to actually force them to disk durably.- Overrides:
ensureFileExistsin classLocalAppendableColumn<DATA_TYPE>
-
doneAppending
public void doneAppending()Description copied from interface:BufferedAppendableColumnOptionally called beforeBufferedAppendable.close()to release any resources that may be released prior toBufferedAppendable.close(). No data should be appended after this method is invoked.- Specified by:
doneAppendingin interfaceBufferedAppendableColumn<SYMBOL_TYPE extends CharSequence>- Overrides:
doneAppendingin classLocalAppendableColumn<DATA_TYPE>
-
close
public void close()Description copied from interface:BufferedAppendableFlush all appended data to the underlying store, release any resources held, and force all appended data to be persisted to permanent storage. This should be the final access to this appendable (if successful) with the exception of any asynchronousBufferedAppendable.force()operations. ABufferedAppendable.release()is appropriate afterwards, especially on error.- Specified by:
closein interfaceAppendableColumn<SYMBOL_TYPE extends CharSequence>- Specified by:
closein interfaceBufferedAppendable- Overrides:
closein classLocalAppendableColumn<DATA_TYPE>
-
release
public void release()Description copied from interface:BufferedAppendableRelease any resources held. Called after an error in preparation for termination. For external callers, this should be done as the final access to this column with the exception of any asynchronousBufferedAppendable.force()operations.- Specified by:
releasein interfaceBufferedAppendable- Overrides:
releasein classLocalAppendableColumn<DATA_TYPE>
-