Package io.permazen.kv.mvcc
Utility classes for MVCC type operations using a
KVStore
.-
Interface Summary Interface Description AtomicKVStore Extension of theKVStore
interface for implementations that support atomic, batched reads and writes.Mutations Represents a set of mutations that can be applied to aKVStore
.ReadTracking Implemented byKVStore
's that are capable of tracking which keys have been read. -
Class Summary Class Description AtomicKVDatabase Wrapper class that presents anAtomicKVStore
view of aKVDatabase
, using individual transactions for each operation.Conflict Represents an MVCC conflict.LockManager Manager of read/write locks onbyte[]
key ranges that ensures isolation and serialization while allowing concurrent access by multiple threads to a single underlyingbyte[]
key/value store.LockOwner Represents the owner of aLock
managed by aLockManager
.MutableView Provides a mutable view of an underlying, read-onlyKVStore
.ReadAdjustConflict Represents an MVCC conflict in which a key that was read in one transaction was adjusted viaKVStore.adjustCounter()
in another, simultaneous transaction.ReadRemoveConflict Represents an MVCC conflict in which a key or range of keys that was read in one transaction was removed in another, simultaneous transaction.Reads Holds a set of reads from aKVStore
.ReadWriteConflict Represents an MVCC conflict in which a key that was read in one transaction had its value changed in another, simultaneous transaction.SnapshotKVDatabase KVDatabase
implementation based on an underlyingAtomicKVStore
that uses snapshot views and optimistic locking to provide concurrent transactions and linearizable ACID consistency.SnapshotKVTransaction SnapshotKVDatabase
transaction.SnapshotRefs Holds a count of references to aCloseableKVStore
and actuallyclose()
's it when the reference count reaches zero.Writes Holds a set of writes to aKVStore
. -
Enum Summary Enum Description LockManager.LockResult Possible return values fromLockManager.lock()
. -
Exception Summary Exception Description TransactionConflictException Exception thrown when a transaction fails because of an MVCC conflict.