Package com.illumon.iris.binarystore
package com.illumon.iris.binarystore
-
ClassDescriptionThis is the common class for the V1 and V2 binary store readers.Base for V1 binary store readers.
This class implements the reader for a self-descriptive binary format table.
A table is structured as following:
header, formatted as follows: 4-byte signed int (numColumns) For each column: 0-terminated ascii string (column name) 0-terminated ascii string (type name) 4-byte signed int (type size - unused) 4-byte signed int (metadata size) metadata size bytes (metadata) list of rows (numColumns+7)/8 bytes (column presence bitmap) For each non-null column: Column data based on SupportedType encodingBase for V2 binary store readers.AbstractBinaryStoreWriter<R extends Row>This class provides a common ancestor for V1 and V2 binary store writer to manage output channels.This class implements binary record entry writing for the V2 binary log format.This class implements row writing for the V2 binary log format.Interface for BinaryStoreImportProcessor to access both V1 and V2 BinaryStores.The BinaryStoreBufferProcessors do not actually read any data, they only consume data passed into them using the setDataBuffer method.V1 Binary Store.V2 Binary Store.Interface for functionality common between BinaryStoreBufferProcessor and the Binary Store Readers.Table reader for Version 1 of the binary store.Table reader for Version 2 of the binary store.Extend AbstractBinaryStoreReaderV2 implementation to add a socket channel source.Container class for utility functions related to binary stores.Constant fields written to the V2 binary store.Information extracted from a binary store header.Per-column information extracted from a binary store header.Tool for parsing V2 (and higher) of the binary store header format.Interface for row buffer processors, which are usually generated code to fill and write a row batch data structure.Row buffer processor to use when a real one has not yet been set, and hence rows are unexpected.This class implements the writer for a self-descriptive binary table in the V2 binary log format.A container for binningWritableRowContainer
s by column partition in order to enable write batching.Manage writable channels.Interface derived fromChannelManager
for implementations that determine channels based on supplied column partition values.Interface derived fromChannelManager
for implementations that determine channels based on internal pre-determined criteria.CloseableStringCache<STRING_LIKE_TYPE extends CharSequence>AStringCache
that isSafeCloseable
.Read and write RecordData that are commands.This class represents a command to delete the identified partition.This class represents a command to delete the "current" partition.Wrap a LAS command (as defined in com.illumon.iris.db.v2.logaggregator.CommandHelper.LasInnerCommandId) in a record entry.Buffer processor for version 2 of the binary store protocol which delegates row buffer consumption to aBinaryStoreV2RowBufferProcessor
rather than support the legacyRowGetter
approach.Record handler to use when a real one has not yet been set, and hence records are unexpected.Binary stores consist of Entries, which may be Rows or Records.Implementors of this interface provide Row and Record callbacks.Marker exception when the AbstractBinaryStoreReader encounters an EOF.Manage a value that changes after a certain period of time.Returns a string representing the current time period.Returns the current date.Provides DailyExpiration and adds access to the current date.Expires on the hour, returning a datetime format of "yyyy-MM-dd.HHmmss.SSSZ", which will round to "yyyy-MM-dd.HH0000.000-????" after rolling on the hour.Static value - does not expire.Utility to print out the contents of a binary store file.Utility to prints out the end of a Binary Store file, optionally following the file as it grows.ChannelManager implementation for binary log files, using dynamic column partition selection.Interface for writing out a binary store v2 record entry.Record.RecordSetter<T extends RecordData>Setter specialization for RecordData.Holds the data payload of a record entry.This class maintains the file channels, with the appropriate roll interval for BinaryStoreWriters.Base class for rolling files on a time interval.Allow different behaviors when an existing output file is seen.Rolls on the hour, changes the filename base when the column partition changes.Implementation ofRollingFileManagerBase
which takes one unchanging value for the column partition.Interface for writing out values in a row.Per-row transaction flags.RowGetter<T>RowSetter<T>Type-safe interface for setting cell values in individual columns of a row to allow a row to be written.A common error is to update a logger/listener schema without changing the logFormat (Application Version).A table reader that can advance to a given record, return its size, and block instead of returning an EOF.Provider interface forCloseableStringCache
s to use in ingestion and data access.StringCacheProvider
implementations to provide a framework for data ingestion.Enumeration of supported types in Iris binary log files.Reads the magic number and selects either a V1 or V2 binary store reader as appropriate.Row-oriented table reading interface.TableWriter<R extends Row>Interface for writing table data out.WritableRowContainer<R extends Row>A container for a Row that supports the concept of release, as well as access to the row itself.