Package io.camunda.zeebe.db.impl.rocksdb
Class ZeebeRocksDbFactory<ColumnFamilyType extends Enum<? extends EnumValue> & EnumValue>
java.lang.Object
io.camunda.zeebe.db.impl.rocksdb.ZeebeRocksDbFactory<ColumnFamilyType>
- All Implemented Interfaces:
ZeebeDbFactory<ColumnFamilyType>
public final class ZeebeRocksDbFactory<ColumnFamilyType extends Enum<? extends EnumValue> & EnumValue>
extends Object
implements ZeebeDbFactory<ColumnFamilyType>
-
Constructor Summary
ConstructorsConstructorDescriptionZeebeRocksDbFactory(RocksDbConfiguration rocksDbConfiguration, ConsistencyChecksSettings consistencyChecksSettings) -
Method Summary
Modifier and TypeMethodDescriptionCreates a zeebe database in the given directory.openSnapshotOnlyDb(File pathName) Opens an existing DB in read-only mode for the sole purpose of creating snapshots from it.
-
Constructor Details
-
ZeebeRocksDbFactory
public ZeebeRocksDbFactory(RocksDbConfiguration rocksDbConfiguration, ConsistencyChecksSettings consistencyChecksSettings)
-
-
Method Details
-
createDb
Description copied from interface:ZeebeDbFactoryCreates a zeebe database in the given directory.- Specified by:
createDbin interfaceZeebeDbFactory<ColumnFamilyType extends Enum<? extends EnumValue> & EnumValue>- Parameters:
pathName- the path where the database should be created- Returns:
- the created zeebe database
-
openSnapshotOnlyDb
Description copied from interface:ZeebeDbFactoryOpens an existing DB in read-only mode for the sole purpose of creating snapshots from it.NOTE: if a read-only DB is required in the future that allows actually reading, then this can be extended to do so. However, keep in mind that you cannot use transactions on such DBs, and it might be better to do this when we've moved away from the transaction DB family.
- Specified by:
openSnapshotOnlyDbin interfaceZeebeDbFactory<ColumnFamilyType extends Enum<? extends EnumValue> & EnumValue>- Parameters:
pathName- the path to the existing database- Returns:
- a snapshot-able DB
-