Interface ConfigParams

All Known Implementing Classes:
DefaultConfigParamsImpl

public interface ConfigParams
Configuration Parameter interface for configuring the Raft consensus system. Any component using this implementation might want to provide an implementation of this interface to configure. A default implementation will be used if none is provided.
Author:
Kamal Rameshan
  • Field Details

  • Method Details

    • getSnapshotBatchCount

      long getSnapshotBatchCount()
      Returns the minimum number of entries to be present in the in-memory Raft log for a snapshot to be taken.
      Returns:
      the minimum number of entries.
    • getSnapshotDataThresholdPercentage

      int getSnapshotDataThresholdPercentage()
      Returns the percentage of total memory used in the in-memory Raft log before a snapshot should be taken. Disabled when direct threshold is enabled.
      Returns:
      the percentage.
    • getSnapshotDataThreshold

      int getSnapshotDataThreshold()
      Returns the max size of memory used in the in-memory Raft log before a snapshot should be taken. 0 means that direct threshold is disabled and percentage is used instead.
      Returns:
      maximum journal size (in MiB).
    • getRecoverySnapshotIntervalSeconds

      int getRecoverySnapshotIntervalSeconds()
      Returns the interval(in seconds) after which a snapshot should be taken during recovery. Negative value means do not take snapshots.
      Returns:
      the interval of recovery snapshot in seconds
    • getHeartBeatInterval

      scala.concurrent.duration.FiniteDuration getHeartBeatInterval()
      Returns the interval at which a heart beat message should be sent to remote followers.
      Returns:
      the interval as a FiniteDuration.
    • getElectionTimeOutInterval

      scala.concurrent.duration.FiniteDuration getElectionTimeOutInterval()
      Returns the interval after which a new election should be triggered if no leader is available.
      Returns:
      the interval as a FiniteDuration.
    • getCandidateElectionTimeoutDivisor

      long getCandidateElectionTimeoutDivisor()
      Returns the number by which a candidate should divide the election timeout it has calculated. This serves to speed up retries when elections result in a stalemate.
      Returns:
      the interval as a FiniteDuration.
    • getElectionTimeVariance

      int getElectionTimeVariance()
      Returns the maximum election time variance. The election is scheduled using both the election timeout and variance.
      Returns:
      the election time variance.
    • getSnapshotChunkSize

      int getSnapshotChunkSize()
      Returns the maximum size (in bytes) for the snapshot chunk sent from a Leader.
      Returns:
      the maximum size (in bytes).
    • getJournalRecoveryLogBatchSize

      int getJournalRecoveryLogBatchSize()
      Returns the maximum number of journal log entries to batch on recovery before applying.
      Returns:
      the maximum number of journal log entries.
    • getIsolatedCheckIntervalInMillis

      long getIsolatedCheckIntervalInMillis()
      Returns the interval in which the leader needs to check if its isolated.
      Returns:
      the interval in ms.
    • getElectionTimeoutFactor

      long getElectionTimeoutFactor()
      Returns the multiplication factor to be used to determine the shard election timeout. The election timeout is determined by multiplying the election timeout factor with the heart beat duration.
      Returns:
      the election timeout factor.
    • getRaftPolicy

      @NonNull RaftPolicy getRaftPolicy()
      Returns the RaftPolicy used to determine certain Raft behaviors.
      Returns:
      an instance of RaftPolicy, if set, or an instance of the DefaultRaftPolicy.
    • getPeerAddressResolver

      @NonNull PeerAddressResolver getPeerAddressResolver()
      Returns the PeerAddressResolver.
      Returns:
      the PeerAddressResolver instance.
    • getCustomRaftPolicyImplementationClass

      String getCustomRaftPolicyImplementationClass()
      Returns the custom RaftPolicy class name.
      Returns:
      the RaftPolicy class name or null if none set.
    • getTempFileDirectory

      @NonNull String getTempFileDirectory()
      Returns the directory in which to create temp files.
      Returns:
      the directory in which to create temp files.
    • getFileBackedStreamingThreshold

      int getFileBackedStreamingThreshold()
      Returns the threshold in terms of number of bytes when streaming data before it should switch from storing in memory to buffering to a file.
      Returns:
      the threshold in terms of number of bytes.
    • getSyncIndexThreshold

      long getSyncIndexThreshold()
      Returns the threshold in terms of number journal entries that we can lag behind a leader until we raise a 'not synced' transition.
      Returns:
      the threshold in terms of number of journal entries.