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=3ad7d532ad63c8c37e047cbc3b3a73bf16426a91;hb=7d48c55ad33bcb69e9e373b3e169b530771e60ab;hp=be658835be0c0162b3d9b6feb192f311d99fa6b9;hpb=995da01ef2d635230c37afc7cf4fdd724bf68856;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 be658835be..3ad7d532ad 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; @@ -284,65 +266,39 @@ module distributed-datastore-provider { description "The timeout interval whereby the client front-end hasn't made progress with the back-end on any request and terminates."; } - } - container data-store-properties-container { - uses data-store-properties; - } + 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."; + } - // 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 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; } }