X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fyang%2Fdistributed-datastore-provider.yang;h=dc83af9a756374694e6203c61eebc49d72e214fc;hp=995e98f38fff30f1340df40ad0162e19b9d7c264;hb=3c82a8f501a71ec8a40b170fc7ef12f8683c1842;hpb=5448d6812e386bd56aec7209c4852c586a6163b3 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang b/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang index 995e98f38f..dc83af9a75 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang @@ -54,6 +54,12 @@ module distributed-datastore-provider { } } + typedef percentage { + type uint8 { + range "0..100"; + } + } + grouping data-store-properties { leaf max-shard-data-change-executor-queue-size { default 1000; @@ -88,15 +94,29 @@ module distributed-datastore-provider { leaf shard-snapshot-batch-count { default 20000; type non-zero-uint32-type; - description "The minimum number of entries to be present in the in-memory journal log before a snapshot to be taken."; + description "The minimum number of entries to be present in the in-memory journal log before a snapshot is to be taken."; } - leaf shard-hearbeat-interval-in-millis { + leaf shard-snapshot-data-threshold-percentage { + default 12; + type percentage; + description "The percentage of Runtime.totalMemory() used by the in-memory journal log before a snapshot is to be taken"; + } + + + leaf shard-heartbeat-interval-in-millis { default 500; type heartbeat-interval-type; description "The interval at which a shard will send a heart beat message to its remote shard."; } + leaf shard-election-timeout-factor { + default 2; + type non-zero-uint32-type; + description "The multiplication factor to be used to determine shard election timeout. The shard election timeout + is determined by multiplying shard-heartbeat-interval-in-millis with the shard-election-timeout-factor"; + } + leaf operation-timeout-in-seconds { default 5; type operation-timeout-type; @@ -104,7 +124,7 @@ module distributed-datastore-provider { } leaf shard-journal-recovery-log-batch-size { - default 5000; + default 1000; type non-zero-uint32-type; description "The maximum number of journal log entries to batch on recovery for a shard before committing to the data store."; } @@ -136,6 +156,15 @@ module distributed-datastore-provider { an operation (eg transaction create)."; } + leaf shard-batched-modification-count { + default 100; + type non-zero-uint32-type; + description "The number of transaction modification operations (put, merge, delete) to + batch before sending to the shard transaction actor. Batching improves + performance as less modifications messages are sent to the actor and thus + lessens the chance that the transaction actor's mailbox queue could get full."; + } + leaf enable-metric-capture { default false; type boolean; @@ -153,6 +182,21 @@ module distributed-datastore-provider { type boolean; description "Enable or disable data persistence"; } + + 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"; + } } // Augments the 'configuration' choice node under modules/module.