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=7a932b8b1107b599d6a9f5b494e516224e59fbe1;hp=2ae5f1878512ae0a90137604cd890c032e776530;hb=b65f82f3c6e6e4c53ea2efa4dba30ddf82d61616;hpb=5a0edd493bafc365647bc6311b4b7da86a78645d 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 2ae5f18785..7a932b8b11 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 @@ -5,13 +5,6 @@ module distributed-datastore-provider { namespace "urn:opendaylight:params:xml:ns:yang:controller:config:distributed-datastore-provider"; prefix "distributed-datastore-provider"; - import config { prefix config; revision-date 2013-04-05; } - import rpc-context { prefix rpcx; revision-date 2013-06-17; } - import opendaylight-config-dom-datastore {prefix config-dom-store-spi;} - import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;} - import opendaylight-md-sal-dom {prefix sal;} - import actor-system-provider-service {prefix actor-system;} - description "This module contains the base YANG definitions for the distributed datastore provider implementation"; @@ -21,22 +14,6 @@ module distributed-datastore-provider { "Initial revision."; } - // This is the definition of the service implementation as a module identity. - identity distributed-config-datastore-provider { - base config:module-type; - config:provided-service config-dom-store-spi:config-dom-datastore; - // Specifies the prefix for generated java classes. - config:java-name-prefix DistributedConfigDataStoreProvider; - } - - // This is the definition of the service implementation as a module identity. - identity distributed-operational-datastore-provider { - base config:module-type; - config:provided-service operational-dom-store-spi:operational-dom-datastore; - // Specifies the prefix for generated java classes. - config:java-name-prefix DistributedOperationalDataStoreProvider; - } - typedef non-zero-uint32-type { type uint32 { range "1..max"; @@ -167,6 +144,13 @@ module distributed-datastore-provider { an operation (eg transaction create)."; } + leaf initial-settle-timeout-multiplier { + default 3; + type uint32; + description "Multiplier for the maximum amount of time to wait for a shard to elect a leader. + Zero value means wait indefinitely (as long as it takes)."; + } + leaf shard-batched-modification-count { default 1000; type non-zero-uint32-type; @@ -228,73 +212,71 @@ module distributed-datastore-provider { } leaf shard-snapshot-chunk-size { + status deprecated; 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 maximum-message-slice-size { + default 2048000; + type non-zero-uint32-type; + description "When fragmenting messages thru the akka remoting framework, this is the + maximum size in bytes for a message slice."; + } + 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."; } - } - // Augments the 'configuration' choice node under modules/module. - augment "/config:modules/config:module/config:configuration" { - case distributed-config-datastore-provider { - when "/config:modules/config:module/config:type = 'distributed-config-datastore-provider'"; - container config-schema-service { - uses config:service-ref { - refine type { - mandatory false; - config:required-identity sal:schema-service; - } - } - } - - container config-actor-system-provider { - uses config:service-ref { - refine type { - mandatory false; - config:required-identity actor-system:actor-system-provider-service; - } - } - } - - container config-properties { - uses data-store-properties; - } + 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."; } - } - // Augments the 'configuration' choice node under modules/module. - augment "/config:modules/config:module/config:configuration" { - case distributed-operational-datastore-provider { - when "/config:modules/config:module/config:type = 'distributed-operational-datastore-provider'"; - container operational-schema-service { - uses config:service-ref { - refine type { - mandatory false; - config:required-identity sal:schema-service; - } - } - } - - container operational-actor-system-provider { - uses config:service-ref { - refine type { - mandatory false; - config:required-identity actor-system:actor-system-provider-service; - } - } - } - - container operational-properties { - uses data-store-properties; - } + 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."; } + + leaf backend-aliveness-timer-interval-in-seconds { + default 30; + type non-zero-uint32-type; + description "The timer interval whereby, on expiration after response inactivity from the back-end, + the connection to the back-end is torn down and reconnection is attempted."; + } + + leaf frontend-request-timeout-in-seconds { + default 120; // 2 minutes + type non-zero-uint32-type; + description "The timeout interval whereby client frontend transaction requests are failed."; + } + + leaf frontend-no-progress-timeout-in-seconds { + default 900; // 15 minutes + type non-zero-uint32-type; + description "The timeout interval whereby the client front-end hasn't made progress with the + back-end on any request and terminates."; + } + + leaf initial-payload-serialized-buffer-capacity { + default 512; + type non-zero-uint32-type; + description "The initial buffer capacity, in bytes, to use when serializing message payloads."; + } + } + + container data-store-properties-container { + uses data-store-properties; } }