X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fyang%2Fdistributed-datastore-provider.yang;h=cdb534e3a446991c59ff79f9f5a2872aa8c22333;hb=624904a385dfaac675da40a6705ff601151699be;hp=49a51a625c9e7a4c9ce21f73c17c2c2e72d43357;hpb=b25ae9347455b1bae8f25424a9ceffc017f2f0db;p=controller.git 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 49a51a625c..cdb534e3a4 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"; @@ -62,30 +39,6 @@ module distributed-datastore-provider { } grouping data-store-properties { - leaf max-shard-data-change-executor-queue-size { - default 1000; - type non-zero-uint32-type; - description "The maximum queue size for each shard's data store data change notification executor."; - } - - leaf max-shard-data-change-executor-pool-size { - default 20; - type non-zero-uint32-type; - description "The maximum thread pool size for each shard's data store data change notification executor."; - } - - leaf max-shard-data-change-listener-queue-size { - default 1000; - type non-zero-uint32-type; - description "The maximum queue size for each shard's data store data change listener."; - } - - leaf max-shard-data-store-executor-queue-size { - default 5000; - type non-zero-uint32-type; - description "The maximum queue size for each shard's data store executor."; - } - leaf shard-transaction-idle-timeout-in-minutes { default 10; type non-zero-uint32-type; @@ -101,7 +54,17 @@ module distributed-datastore-provider { leaf shard-snapshot-data-threshold-percentage { default 12; type percentage; - description "The percentage of Runtime.maxMemory() used by the in-memory journal log before a snapshot is to be taken"; + description "The percentage of Runtime.maxMemory() used by the in-memory journal log before a snapshot is to be taken. + Disabled, if direct threshold is enabled."; + } + + leaf shard-snapshot-data-threshold { + default 0; + type uint32 { + range "0..max"; + } + description "The threshold of in-memory journal size before a snapshot is to be taken. If set to 0, direct threshold + is disabled and percentage is used instead."; } @@ -167,6 +130,19 @@ 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 recovery-snapshot-interval-seconds { + default 0; + type uint32; + description "Interval after which a snapshot should be taken during the recovery process."; + } + leaf shard-batched-modification-count { default 1000; type non-zero-uint32-type; @@ -194,6 +170,12 @@ module distributed-datastore-provider { description "Enable or disable data persistence"; } + leaf snapshotOnRootOverwrite { + default false; + type boolean; + description "Enable or disable capturing snapshots on DataTree root overwrites"; + } + leaf shard-isolated-leader-check-interval-in-millis { default 5000; type heartbeat-interval-type; @@ -228,12 +210,20 @@ module distributed-datastore-provider { } leaf shard-snapshot-chunk-size { - default 2048000; + status deprecated; + default 491520; 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 491520; + 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; @@ -256,61 +246,59 @@ module distributed-datastore-provider { commitIndex trails the leader's journal by more than this amount of entries the follower is considered to be out-of-sync."; } - } - // 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 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."; + } + + leaf use-lz4-compression { + default false; + type boolean; + description "Use lz4 compression for snapshots, sent from leader to follower, for snapshots stored + by LocalSnapshotStore, use akka.conf configuration."; } - } - // 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 export-on-recovery { + default off; + type enumeration { + enum off; + enum json; + } + description "Export snapshot and journal during recovery. Possible modes: off(default), + json(export to json files). Note that in case of large snapshot, + export will take a lot of time."; } + + leaf recovery-export-base-dir { + default persistence-export; + type string; + description "Directory name for snapshot and journal dumps."; + } + } + + container data-store-properties-container { + uses data-store-properties; } }