+ leaf shard-isolated-leader-check-interval-in-millis {
+ default 5000;
+ type heartbeat-interval-type;
+ description "The interval at which the leader of the shard will check if its majority
+ followers are active and term itself as isolated";
+ }
+
+ leaf transaction-creation-initial-rate-limit {
+ default 100;
+ type non-zero-uint32-type;
+ description "The initial number of transactions per second that are allowed before the data store
+ should begin applying back pressure. This number is only used as an initial guidance,
+ subsequently the datastore measures the latency for a commit and auto-adjusts the rate limit";
+ }
+
+ leaf transaction-debug-context-enabled {
+ default false;
+ type boolean;
+ description "Enable or disable transaction context debug. This will log the call site trace for
+ transactions that fail";
+ }
+
+ leaf custom-raft-policy-implementation {
+ default "";
+ type string;
+ description "A fully qualified java class name. The class should implement
+ org.opendaylight.controller.cluster.raft.policy.RaftPolicy. This java class should be
+ accessible to the distributed data store OSGi module so that it can be dynamically loaded via
+ reflection. For now let's assume that these classes to customize raft behaviors should be
+ present in the distributed data store module itself. If this property is set to a class which
+ cannot be found then the default raft behavior will be applied";
+ }
+
+ leaf shard-snapshot-chunk-size {
+ default 2048000;
+ type non-zero-uint32-type;
+ description "When sending a snapshot to a follower, this is the maximum size in bytes for
+ a chunk of data.";
+ }
+
+ leaf use-tell-based-protocol {
+ default false;
+ type boolean;
+ description "Use a newer protocol between the frontend and backend. This feature is considered
+ exprerimental at this point.";
+ }
+
+ leaf file-backed-streaming-threshold-in-megabytes {
+ default 128;
+ type non-zero-uint32-type;
+ description "When streaming large amounts of data, eg when sending a snapshot to a follower, this
+ is the threshold in terms of number of megabytes before it should switch from storing in memory to
+ buffering to a file.";
+ }
+
+ leaf sync-index-threshold {
+ default 10;
+ type non-zero-uint32-type;
+ description "Permitted synchronization lag, expressed in terms of RAFT entry count. It a follower's
+ commitIndex trails the leader's journal by more than this amount of entries the follower
+ is considered to be out-of-sync.";
+ }