Consensus Commit transaction manager is the default transaction manager type in ScalarDB. If you don’t specify the scalar.db.transaction_manager property, or you specify consensus-commit for the property as follows, the Consensus Commit transaction manager is used.

scalar.db.transaction_manager=consensus-commit

The following sections describes the configurations for Consensus Commit.

Basic configurations

The basic configurations for Consensus Commit are as follows:

name description default
scalar.db.consensus_commit.isolation_level Isolation level used for ConsensusCommit. Either SNAPSHOT or SERIALIZABLE can be specified. SNAPSHOT
scalar.db.consensus_commit.serializable_strategy Serializable strategy used for ConsensusCommit transaction manager. Either EXTRA_READ or EXTRA_WRITE can be specified. If SNAPSHOT is specified in the property scalar.db.consensus_commit.isolation_level, this is ignored. EXTRA_READ
scalar.db.consensus_commit.coordinator.namespace Namespace name of coordinator tables. coordinator

The Performance related configurations for Consensus Commit are as follows:

name description default
scalar.db.consensus_commit.parallel_executor_count The number of the executors (threads) for the parallel execution. 128
scalar.db.consensus_commit.parallel_preparation.enabled Whether or not the preparation phase is executed in parallel. true
scalar.db.consensus_commit.parallel_validation.enabled Whether or not the validation phase (in EXTRA_READ) is executed in parallel. The value of scalar.db.consensus_commit.parallel_commit.enabled
scalar.db.consensus_commit.parallel_commit.enabled Whether or not the commit phase is executed in parallel. true
scalar.db.consensus_commit.parallel_rollback.enabled Whether or not the rollback phase is executed in parallel. The value of scalar.db.consensus_commit.parallel_commit.enabled
scalar.db.consensus_commit.async_commit.enabled Whether or not the commit phase is executed asynchronously. false
scalar.db.consensus_commit.async_rollback.enabled Whether or not the rollback phase is executed asynchronously. The value of scalar.db.consensus_commit.async_commit.enabled