See: Description
Interface | Description |
---|---|
AbstractJournal.ISnapshotData | |
AbstractJournal.ISnapshotEntry | |
AbstractMRMWTestCase.TestOptions |
Additional properties understood by this test.
|
ConcurrencyManager.IConcurrencyManagerCounters |
Interface defines and documents the counters and counter namespaces for
the
ConcurrencyManager . |
ConcurrencyManager.Options |
Options for the
ConcurrentManager . |
GangliaPlugIn.Options |
Configuration options.
|
HttpPlugin.Options | |
IAtomicStore |
Interface for low-level operations on a store supporting an atomic commit.
|
IBTreeManager | |
IBufferStrategy |
Interface for implementations of a buffer strategy as identified by a
BufferMode . |
ICommitRecord |
An interface providing a read-only view of a commit record.
|
ICommitter |
An interface implemented by a persistence capable data structure such as a
btree so that it can participate in the commit protocol for the store.
|
ICommitTimeEntry |
Interface for access to the snapshot metadata.
|
IConcurrencyManager |
Interface for managing concurrent access to resources (indices).
|
IDiskBasedStrategy |
An interface for implementations backed by a file on disk.
|
IDistributedTransactionService |
Extended interface for distributed 2-phase transactions for an
IBigdataFederation . |
IGISTLocalManager |
Interface for managing local (non-distributed) generalized search trees
(GiST).
|
IGISTManager |
Interface for managing local or distributed index structures in a manner that
is not B+Tree specific.
|
IHABufferStrategy |
A highly available
IBufferStrategy . |
IIndexManager |
Interface for managing named indices.
|
IIndexStore |
Collection of methods that are shared by both local and distributed stores.
|
IJournal |
An persistence capable data structure supporting atomic commit, scalable
named indices, and transactions.
|
ILocalTransactionManager |
Interface for managing local transaction state (the client side of the
ITransactionService ). |
IPlugIn<M extends IIndexManager,S> |
Interface for a "plug in" that can be registered with a
Journal . |
IReadOnly |
A marker interface for logic that can declare whether or not it is read-only.
|
IResourceLock |
A lock granted by an
IResourceLockService . |
IResourceLockService |
Interface named synchronous distributed locks without deadlock detection.
|
IResourceManager |
Interface manging the resources on which indices are stored.
|
IRootBlockView |
Interface for a root block on the journal.
|
ISnapshotFactory |
Interface allows an application to decide on the file name for the snapshot,
whether or not the snapshot will be compressed, etc.
|
ISnapshotResult |
Interface for the outcome of a snapshot task.,
|
ITask<T> |
Interface available to tasks running under the
ConcurrencyManager . |
ITimestampService |
A service for unique timestamps.
|
ITransactionService |
An interface for managing transaction life cycles.
|
ITx |
Interface for transaction state on the client.
|
Journal.IJournalCounters |
Interface defines and documents the counters and counter namespaces
reported by the
Journal and the various services which it uses. |
Journal.Options |
Options understood by the
Journal . |
Options |
Options for the
Journal . |
PlatformStatsPlugIn.Options | |
QueueStatsPlugIn.Options |
Performance counters options.
|
SnapshotTask.Options | |
StoreState |
Contains critical transient data that can be used to determine
state consistency between HA services.
|
StressTestConcurrentTx.TestOptions |
Additional properties understood by this test.
|
StressTestConcurrentUnisolatedIndices.TestOptions |
Additional properties understood by this test.
|
StressTestGroupCommit.TestOptions |
Options understood by this stress test.
|
StressTestUnisolatedReadWriteIndex.TestOptions |
Additional properties understood by this test.
|
TemporaryStoreFactory.Options |
Configuration options for the
TemporaryStoreFactory . |
Class | Description |
---|---|
AbstractBufferStrategy |
Abstract base class for
IBufferStrategy implementation. |
AbstractBufferStrategyTestCase |
Base class for writing test cases for the different
IBufferStrategy
implementations. |
AbstractCommitRecordTestCase |
Defines some helper methods for testing
ICommitRecord s. |
AbstractCommitTimeIndex<T extends ICommitTimeEntry> |
Abstract
BTree mapping commitTime (long integers) to
ICommitTimeEntry objects. |
AbstractIndexManagerTestCase<S extends IIndexManager> | |
AbstractInterruptsTestCase |
Test suite for correct handling of
ClosedByInterruptException s. |
AbstractJournal |
The journal is a persistence capable data structure supporting atomic commit,
named indices, and full transactions.
|
AbstractJournal.SnapshotData | |
AbstractJournalTestCase |
Abstract harness for testing under a variety of configurations.
|
AbstractLocalTransactionManager |
Manages the client side of a transaction either for a standalone
Journal or for an IDataService in an
IBigdataFederation . |
AbstractMRMWTestCase |
Test suite for MRMW (Multiple Readers, Multiple Writers) support.
|
AbstractMRMWTestCase.GenerateExperiment |
Experiment generation utility class.
|
AbstractMRMWTestCase.GroundTruth |
Class maintains ground truth for the store.
|
AbstractMRMWTestCase.ReaderTask |
Run a reader.
|
AbstractMRMWTestCase.Record |
A ground truth record as generated by a
AbstractMRMWTestCase.WriterTask . |
AbstractMRMWTestCase.StressTestMRMW |
Concrete instance for running stress tests and comparisons.
|
AbstractMRMWTestCase.WriterTask |
Run a writer.
|
AbstractMROWTestCase |
Test suite for MROW (Multiple Readers, One Writer) support.
|
AbstractMROWTestCase.ReaderTask |
Run a reader.
|
AbstractMROWTestCase.Record |
A ground truth record as generated by a
AbstractMROWTestCase.WriterTask . |
AbstractMROWTestCase.WriterTask |
Run a writer.
|
AbstractRestartSafeTestCase |
Test suite for restart-safe (data survives commit and reopen of the store).
|
AbstractTask<T> |
Abstract base class for tasks that may be submitted to the
ConcurrencyManager . |
AbstractTask.DelegateTask<T> |
Delegates various behaviors visible to the application code using the
ITask interface to the AbstractTask object. |
AbstractTask.InnerReadWriteTxServiceCallable<T> |
Inner class used to wrap up the call to
AbstractTask.doTask() for
read-write transactions. |
AbstractTask.InnerWriteServiceCallable<T> |
An instance of this class is used as the delegate to coordinate the acquisition of locks
with the
NonBlockingLockManager before the task can execute and to release
locks after the task has completed (whether it succeeds or fails). |
BasicBufferStrategy |
Implements logic to read from and write on a buffer.
|
BasicExperimentConditions | |
BasicSnapshotFactory |
Provides a basic implementation of a
ISnapshotFactory to be used
with non-HA operations to provide online backup capabilities. |
BenchmarkJournalWriteRate |
A benchmark that computes the raw platform write rate for pure sequential IO,
the journal's write rate, and both unisolated and isolated index write rates.
|
BenchmarkJournalWriteRate.AbstractBenchmarkOptimium |
Does N writes of M size data blocks on a pre-extended file using pure
sequential IO.
|
BenchmarkJournalWriteRate.BenchmarkBlockBasedOptimium |
Writes the same amount of data using large blocks on a pre-extended file
using pure sequential IO.
|
BenchmarkJournalWriteRate.BenchmarkDirectJournal | |
BenchmarkJournalWriteRate.BenchmarkDiskJournal | |
BenchmarkJournalWriteRate.BenchmarkDiskRWJournal | |
BenchmarkJournalWriteRate.BenchmarkMappedJournal | |
BenchmarkJournalWriteRate.BenchmarkSmallRecordOptimium |
Writes the same amount of data, using
128 byte records on
a pre-extended file using pure sequential IO. |
BenchmarkJournalWriteRate.BenchmarkSustainedTransferOptimium |
Writes the same amount of data using a single nio "write buffer"
operation on a pre-extended file.
|
BenchmarkJournalWriteRate.BenchmarkTransientJournal | |
CommitCounterUtility |
Utility class for operations on files that are named using a commit counter.
|
CommitRecord |
A read-only view of an
ICommitRecord . |
CommitRecordIndex |
BTree mapping commit times to
ICommitRecord s. |
CommitRecordIndex.CommitRecordIndexTupleSerializer |
Encapsulates key and value formation for the
CommitRecordIndex . |
CommitRecordIndex.Entry |
An entry in the persistent index.
|
CommitRecordIndex.Entry.EntrySerializer |
Used to (de-)serialize
CommitRecordIndex.Entry s (NOT thread-safe). |
CommitRecordSerializer |
A helper class for (de-)serializing the root addresses.
|
CompactJournalUtility |
Utility class to compact a
Journal . |
CompactTask |
Task compacts the journal state onto a caller specified file.
|
ConcurrencyManager |
Supports concurrent operations against named indices.
|
DelegateTransactionService |
Delegation pattern for an
ITransactionService . |
DeleteBlockCommitter |
Defines the callback object called on commit that enables the deferred
delete blocks to be associated with a CommitRecord.
|
DirectBufferStrategy |
Direct buffer strategy uses a direct
ByteBuffer as a write through
cache and writes through to disk for persistence. |
DiskBackedBufferStrategy |
Abstract base class for implementations that use a direct buffer as a write
through cache to an image on the disk.
|
DiskOnlyStrategy | Deprecated
This has been replaced by
WORMStrategy . |
DropIndexTask |
Drop a named index (unisolated write operation).
|
DumpJournal |
A utility class that opens the journal in a read-only mode and dumps the root
blocks and metadata about the indices on a journal file.
|
FileMetadata |
Helper object used when opening or creating journal file in any of the
file-based modes.
|
GangliaPlugIn |
A plugin for ganglia.
|
HttpPlugin |
CounterSetHTTPD plug-in. |
IndexProcedureTask<T> |
Class provides an adaptor allowing a
IIndexProcedure to be executed
on an IConcurrencyManager . |
Journal |
Concrete implementation suitable for a local and unpartitioned database.
|
JournalDelegate |
IJournal delegation pattern. |
JournalMetrics |
Simple class to retrieve open journal and thread metrics for
debugging purposes.
|
JournalTransactionService |
Implementation for a standalone journal using single-phase commits.
|
JournalTransactionService.SinglePhaseCommit |
This task is an UNISOLATED operation that validates and commits a
transaction known to have non-empty write sets.
|
JournalTransactionService.ValidateWriteSetTask |
This task is an UNISOLATED operation that validates a transaction known to
have non-empty write sets.
|
MappedBufferStrategy |
Memory-mapped journal strategy (this mode is NOT recommended).
|
Name2Addr |
Name2Addr is a BTree mapping index names to an Name2Addr.Entry
containing the last Checkpoint record committed for the named index
and the timestamp of that commit. |
Name2Addr.Entry |
An entry in the persistent index.
|
Name2Addr.EntrySerializer |
The values are
Name2Addr.Entry s. |
Name2Addr.Name2AddrTupleSerializer |
Encapsulates key and value formation for
Name2Addr . |
PlatformStatsPlugIn |
IPlugin for collecting statistics from the operating system. |
ProxyTestCase<S extends IIndexManager> |
This class provides proxy delegation logic for abstract methods declared by
AbstractJournalTestCase and is used to extend the set of tests that will be
applied to all implementations of the generic object model Java API. |
QueueStatsPlugIn |
Plugin for sampling the
ExecutorService . |
RegisterIndexTask |
Register a named index (unisolated write operation).
|
RemoveDeferredFreesFromCommitRecords |
A utility to fix a store with invalid addresses in the deferred
free list of a commitRecord.
|
ResourceLockService |
An implementation using
NamedLock s suitable for within JVM locking. |
RootBlockCommitter |
Provides the callback to save the previous root block and store the address
with the current CommitRecord.
|
RootBlockUtility |
Utility class will read both root blocks of a file and indicate which one
is current.
|
RootBlockView |
A view onto a root block of the
Journal . |
RWAddressManager |
FIXME unit tests.
|
RWStrategy |
A highly scalable persistent
IBufferStrategy wrapping the
RWStore which may be used as the backing store for a Journal . |
SnapshotTask |
Take a snapshot of the journal.
|
StressTestConcurrentTx |
Stress tests for concurrent transaction processing.
|
StressTestConcurrentTx.GenerateExperiment |
Experiment generation utility class.
|
StressTestConcurrentTx.Task |
Run a transaction.
|
StressTestConcurrentUnisolatedIndices |
Stress tests for concurrent processing of operations on named unisolated
indices.
|
StressTestConcurrentUnisolatedIndices.GenerateExperiment |
Experiment generation utility class.
|
StressTestConcurrentUnisolatedIndices.WriteTask |
A task that writes on named unisolated index(s).
|
StressTestGroupCommit |
Stress test of the group commit mechanism.
|
StressTestGroupCommit.GenerateExperiment |
Experiment generation utility class.
|
StressTestLockContention |
Lock contention results when unisolated writers seek conflicting locks.
|
StressTestUnisolatedReadWriteIndex |
Stress tests for concurrent processing of operations on named unisolated
indices where the concurrency is managed by an
UnisolatedReadWriteIndex rather than the ConcurrencyManager . |
StressTestUnisolatedReadWriteIndex.WriteTask |
A task that writes on named unisolated index(s).
|
TemporaryRawStore |
A non-restart-safe store for temporary data that buffers data in memory until
the write cache overflows (or is flushed to the disk) and then converts to a
disk-based store.
|
TemporaryStore |
A temporary store that supports named indices but no concurrency controls.
|
TemporaryStoreFactory |
Helper class for
IIndexStore.getTempStore() . |
TestAbort |
Test the ability to abort (discard an uncommitted write set).
|
TestAddDropIndexTask |
Test suite for
RegisterIndexTask and DropIndexTask . |
TestAll |
Runs all tests for all journal implementations.
|
TestClockSkewDetection |
Test suite for
ClocksNotSynchronizedException . |
TestCommitCounterUtility |
Test suite for the
CommitCounterUtility . |
TestCommitHistory |
Test the ability to get (exact match) and find (most recent less than or
equal to) historical commit records in a
Journal . |
TestCommitList | |
TestCommitRecordIndex |
Test suite for
CommitRecordIndex . |
TestCommitRecordSerializer |
Test suite for
CommitRecordSerializer . |
TestCompactJournal |
Test suite for
Journal.compact(java.io.File) . |
TestConcurrentJournal |
Test suite for the
IConcurrencyManager interface on the
Journal . |
TestDirectJournal |
Test suite for
BufferMode.Direct journals. |
TestDirectJournal.TestInterrupts |
Test suite integration for
AbstractInterruptsTestCase . |
TestDirectJournal.TestMRMW |
Test suite integration for
AbstractMRMWTestCase . |
TestDirectJournal.TestMROW |
Test suite integration for
AbstractMROWTestCase . |
TestDirectJournal.TestRawStore |
Test suite integration for
AbstractRestartSafeTestCase . |
TestDiskJournal | Deprecated |
TestDiskJournal.TestInterrupts |
Test suite integration for
AbstractInterruptsTestCase . |
TestDiskJournal.TestMRMW |
Test suite integration for
AbstractMRMWTestCase . |
TestDiskJournal.TestMROW |
Test suite integration for
AbstractMROWTestCase . |
TestDiskJournal.TestRawStore |
Test suite integration for
AbstractRestartSafeTestCase . |
TestDoubleOpen |
Test the ability to rollback a commit.
|
TestDumpJournal |
Test suite for
DumpJournal . |
TestHelper |
Some helper methods for CI.
|
TestHierarchicalLockingTasks |
Test suite for hierarchical locking of indices based on namespace prefixes.
|
TestJournalAbort |
Test suite for a failure to handle errors inside of abort() by marking the
journal as requiring abort().
|
TestJournalBasics |
Aggregates all tests into something approximately increasing dependency
order.
|
TestJournalShutdown |
Stress test for correct shutdown of journals based on weak reference
semantics.
|
TestMappedJournal |
Test suite for
BufferMode.Mapped journals. |
TestMappedJournal.TestInterrupts |
Test suite integration for
AbstractInterruptsTestCase . |
TestMappedJournal.TestMRMW |
Test suite integration for
AbstractMRMWTestCase . |
TestMappedJournal.TestMROW |
Test suite integration for
AbstractMROWTestCase . |
TestMappedJournal.TestRawStore |
Test suite integration for
AbstractRestartSafeTestCase . |
TestName2Addr |
Test suite for the
index used to name index names to the
named indices. |
TestNamedIndices |
Test suite for api supporting registration, lookup, use, and atomic commit of
named indices.
|
TestRandomAccessFileSynchronousWrites |
Test suite for conformance with synchronous IO write requests made on a
RandomAccessFile opened using rss or rdd
mode. |
TestReadCommittedTx<S extends Journal> |
Test suite for transactions reading from a start time corresponding to the
last commit time on the database.
|
TestReadOnlyTx<S extends Journal> |
Test suite for fully isolated read-only transactions reading from a caller
specified start time.
|
TestRestartSafe | |
TestRestartSafe.MyBTree | |
TestRollbackCommit | Deprecated
Along with
AbstractJournal.rollback() |
TestRootBlockView |
Test suite for
RootBlockView . |
TestRunState |
Unit tests for
RunState . |
TestSimpleReleaseTimes |
Example of Commit History usage.
|
TestSnapshotJournal |
Test suite for
Journal#snapshot(com.bigdata.journal.Journal.ISnapshotFactory) . |
TestTemporaryStore |
Test suite for
TemporaryStore (temporary store with named indices). |
TestTemporaryStore.TestInterrupts |
Test suite integration for
TestTemporaryStore.TestInterrupts . |
TestTemporaryStore.TestMRMW |
Test suite integration for
AbstractMRMWTestCase . |
TestTemporaryStore.TestMROW |
Test suite integration for
AbstractMROWTestCase . |
TestTemporaryStore.TestRawStore |
Test suite integration for
AbstractRawStoreTestCase . |
TestTransactionService |
Unit tests of the
AbstractTransactionService using a mock client. |
TestTransactionService.MockTransactionService | |
TestTransactionSupport | |
TestTransientJournal |
Test suite for
BufferMode.Transient journals. |
TestTransientJournal.TestMRMW |
Test suite integration for
AbstractMRMWTestCase . |
TestTransientJournal.TestMROW |
Test suite integration for
AbstractMROWTestCase . |
TestTransientJournal.TestRawStore |
Test suite integration for
AbstractRawStoreTestCase . |
TestTx |
Test suite for fully-isolated read-write transactions.
|
TestUnisolatedWriteTasks |
Correctness test suite for unisolated writes on one or more indices.
|
TestWarmupJournal |
Test suite for
WarmUpTask . |
TestWORMStrategy |
Test suite for
WORMStrategy journal. |
TestWORMStrategy.TestInterrupts |
Test suite integration for
AbstractInterruptsTestCase . |
TestWORMStrategy.TestMRMW |
Test suite integration for
AbstractMRMWTestCase . |
TestWORMStrategy.TestMROW |
Test suite integration for
AbstractMROWTestCase . |
TestWORMStrategy.TestRawStore |
Test suite integration for
AbstractRestartSafeTestCase . |
TestWORMStrategyNoCache |
Test suite for
WORMStrategy journal with the write cache disabled. |
TestWORMStrategyNoCache.TestInterrupts |
Test suite integration for
AbstractInterruptsTestCase . |
TestWORMStrategyNoCache.TestMRMW |
Test suite integration for
AbstractMRMWTestCase . |
TestWORMStrategyNoCache.TestMROW |
Test suite integration for
AbstractMROWTestCase . |
TestWORMStrategyNoCache.TestRawStore |
Test suite integration for
AbstractRestartSafeTestCase . |
TestWORMStrategyOneCacheBuffer |
Test suite for
WORMStrategy journals which runs with a single
WriteCache buffer. |
TestWORMStrategyOneCacheBuffer.TestInterrupts |
Test suite integration for
AbstractInterruptsTestCase . |
TestWORMStrategyOneCacheBuffer.TestMRMW |
Test suite integration for
AbstractMRMWTestCase . |
TestWORMStrategyOneCacheBuffer.TestMROW |
Test suite integration for
AbstractMROWTestCase . |
TestWORMStrategyOneCacheBuffer.TestRawStore |
Test suite integration for
AbstractRestartSafeTestCase . |
TimestampServiceUtil |
Robust request for a timestamp from an
ITimestampService . |
TimestampUtility |
Some static helper methods for timestamps.
|
TransientBufferStrategy |
Transient buffer strategy uses a direct buffer but never writes on disk.
|
Tx |
A transaction.
|
VerifyCommitRecordIndex |
Given an existing journal, ensure that any commitRecords that reference a
time prior to the last deferred release time are removed.
|
WarmUpTask |
Helper class to warm up the indices associated with various namespaces on the
journal.
|
WORMStrategy |
Disk-based Write Once Read Many (WORM) journal strategy.
|
WORMStrategy.StoreCounters<T extends WORMStrategy.StoreCounters<T>> |
Striped performance counters for
IRawStore access, including
operations that read or write through to the underlying media. |
WORMStrategy.WormStoreState | |
WriteExecutorService |
A custom
ThreadPoolExecutor used by the ConcurrencyManager to
execute concurrent unisolated write tasks and perform group commits. |
Enum | Description |
---|---|
BufferMode |
The buffer mode in which the journal is opened.
|
ForceEnum |
Type safe enumeration of options governing whether and how a file is forced
to stable storage.
|
RunState |
Enum of transaction run states.
|
StoreTypeEnum |
The type of store (read/write vs worm).
|
Exception | Description |
---|---|
AbortRequiredException |
An instance of this exception is thrown when the storage layer must go
through an abort before new writes may be applied or committed.
|
AbstractTask.ResubmitException |
This is thrown if you attempt to reuse (re-submit) the same
AbstractTask instance. |
CommitException |
Exception thrown when there is a commit failure, especially for the group
commit mechanisms.
|
IndexExistsException | |
NoSuchIndexException | |
OverflowException |
An instance of this class is thrown if an
AbstractBufferStrategy.overflow(long) request is denied. |
RootBlockException |
An instance of this class is thrown if there is a problem with a root block
(bad magic, unknown version, Challis fields do not agree, checksum error,
etc).
|
TransactionNotFoundException |
Typed exception thrown when a transaction identifier can not be resolved.
|
ValidationError |
An instance of this class is thrown when a transaction
ITx#prepare(long) s if there is a write-write conflict that can not
be resolved. |
The journal is an append-only persistence capable data structure
supporting atomic commit, named indices, and transactions. Writes are
logically appended to the journal to minimize disk head movement. The
addressing scheme of the journal is configurable. The scale-up default
allows individual journal that address up to 4 terabytes and allows records
up to 4 megabytes in length. The scale-out default allows records of up
to 64 megabytes in length, but the maximum file size is smaller. See the
WormAddressManager
for details. The journal
supports the concept of "overflow", which is triggered when the journal
exceeds a threshold extent. An implementation that handles overflow will
expunge B+Trees from the journal onto read-optimized index segments, thereby
creating a database of range partitioned indices. See the ResourceManager
for overflow handling, which is part of the basic DataService
.
The journal may be used as a Write Once Read Many (WORM) store. An
index is maintained over the historical commit points for the store,
so a journal may also be used as an immortal store in which all
historical consistent states may be accessed. A read-write
architecture may be realized by limiting the journal to 100s of megabytes
in length. Both incrementally and when the journal overflows, key ranges
of indices are expunged from the journal onto read-only index segments. When
used in this manner, a consistent read on an index partition requires a fused
view of the data on the journal and the data in the active index segments.
Again, see ResourceManager
for details.
The journal can be either wired into memory or accessed in place on disk. The advantage of wiring the journal into memory is that the disk head does not move for reads from the journal. Wiring the journal into memory can offer performance benefits if writes are to be absorbed in a persistent buffer and migrated to a read-optimized index segments. However, the B+Tree implementation provides caching for recently used nodes and leaves. In addition, wiring a journal limits the maximum size of the journal to less than 2 gigabytes (it must fit into the JVM memory pool) and can cause contention for system RAM.
The journal relies on the BTree
to provide a
persistent mapping from keys to values. When used as an object store,
the B+Tree naturally clusters serialized objects within the leaves of
the B+Tree based on their object identifier and provides IO efficiencies.
(From the perspective of the journal, an object is a byte[] or byte stream.)
If the database generalizes the concept of an object identifier to a variable
length byte[], then the application can take control over the clustering
behavior by simply choosing how to code a primary key for their objects.
When using journals with an overflow limit of a few 100MB, a few large records would cause the journal to overflow. In such cases the journal may be configured to have a larger maximum extent and therefore defer overflow. The scale-out file system is an example of such an application and records of (up to) 64M by default. The index for the file system only stores a reference to the raw record on the journal. During overflow processing, the record is replicated onto an index segment and the index entry in the index segment is modified during the build so that it has a reference to the replicated record.
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.