Skip to main content

Configuration: Cluster

Configuration mismatches tend to cause interaction problems between nodes.

If you must set cluster configurations differently in separate nodes,
we recommend first testing it in a development environment to see that each node interacts properly with the others.

Cluster.ElectionTimeoutInMs

Timeout in which the node expects to receive a heartbeat from the leader, in milliseconds.

  • Type: int
  • Default: 300
  • Scope: Server-wide only

Cluster.WorkerSamplePeriodInMs

Time in milliseconds between sampling the information about the databases and sending it to the maintenance supervisor.

  • Type: int
  • Default: 250
  • Scope: Server-wide only

Cluster.SupervisorSamplePeriodInMs

As the maintenance supervisor, time in milliseconds between sampling the information received from the nodes.

  • Type: int
  • Default: 500
  • Scope: Server-wide only

Cluster.ReceiveFromWorkerTimeoutInMs

As the maintenance supervisor, time in milliseconds to wait to hear from a worker before it is timed out.

  • Type: int
  • Default: 5000
  • Scope: Server-wide only

Cluster.OnErrorDelayTimeInMs

As the maintenance supervisor, how long we wait after we received an exception from a worker. Before we retry.

  • Type: int
  • Default: 5000
  • Scope: Server-wide only

Cluster.OperationTimeoutInSec

As a cluster node, set timeout in seconds for operation between two cluster nodes.

  • Type: int
  • Default: 15
  • Scope: Server-wide only

Cluster.StatsStabilizationTimeInSec

As a cluster node, time in seconds in which it takes to timeout an operation between two cluster nodes.

  • Type: int
  • Default: 5
  • Scope: Server-wide only

Cluster.TimeBeforeAddingReplicaInSec

The time in seconds we give to a database instance to be in a good and responsive state, before adding a replica to match the replication factor.

  • Type: int
  • Default: 900
  • Scope: Server-wide only

Cluster.TcpTimeoutInMs

TCP connection read/write timeout in milliseconds.

  • Type: int
  • Default: 15000
  • Scope: Server-wide only

Cluster.HardDeleteOnReplacement

Set hard/soft delete for a database that was removed by the observer from the cluster topology in order to maintain the replication factor.

  • Type: bool
  • Default: true
  • Scope: Server-wide only

Cluster.MaximalAllowedClusterVersion

EXPERT: If exceeded, clamp the cluster to the specified version.

  • Type: int?
  • Default: null
  • Scope: Server-wide only

Cluster.LogHistoryMaxEntries

EXPERT: Maximum number of log entires to keep in the history log table.

  • Type: int
  • Default: 2048
  • Scope: Server-wide only

Cluster.DisableAtomicDocumentWrites

EXPERT: Disable automatic atomic writes with cluster write transactions.
If set to 'true', will only consider explicitly added compare exchange values to validate cluster wide transactions.

  • Type: bool
  • Default: false
  • Scope: Server-wide or per database

Cluster.MaxSizeOfSingleRaftCommandInMb

EXPERT: The maximum allowed size allowed for a single raft command (in megabytes).

  • Type: Size?
  • SizeUnit(SizeUnit.Megabytes)
  • Default: 128
  • Scope: Server-wide only

Cluster.MaxChangeVectorDistance

Excceding the allowed change vector distance between two nodes, will move the lagged node to rehab.

  • Type: long
  • Default: 10_000
  • Scope: Server-wide only

Cluster.CompareExchangeExpiredDeleteFrequencyInSec

Time (in seconds) between expired compare exchange cleanup.

  • Type: TimeSetting
  • TimeUnit(TimeUnit.Seconds)
  • Default: 60
  • Scope: Server-wide only

Cluster.CompareExchangeTombstonesCleanupIntervalInMin

Time (in minutes) between compare exchange tombstones cleanup.

  • Type: TimeSetting
  • TimeUnit(TimeUnit.Minutes)
  • Default: 10
  • Scope: Server-wide only

Cluster.TcpReceiveBufferSizeInBytes

TCP connection receive buffer size in bytes.

  • Type: Size
  • SizeUnit(SizeUnit.Bytes)
  • Default: 32 * 1024
  • Scope: Server-wide only

Cluster.TcpSendBufferSizeInBytes

TCP connection send buffer size in bytes.

  • Type: Size
  • SizeUnit(SizeUnit.Bytes)
  • Default: 32 * 1024
  • Scope: Server-wide only

Cluster.TimeBeforeRotatingPreferredNodeInSec

The grace time we give to the preferred node before we move it to the end of the members list.

  • Type: TimeSetting
  • TimeUnit(TimeUnit.Seconds)
  • Default: 5
  • Scope: Server-wide only

Cluster.TimeBeforeMovingToRehabInSec

The grace time we give to a node before it will be moved to rehab.

  • Type: TimeSetting
  • TimeUnit(TimeUnit.Seconds)
  • Default: 60
  • Scope: Server-wide only