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";
"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";
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;
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;
}
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;
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-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 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.";
}
- }
- // 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 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;
}
}