Cap shard-snapshot-chunk-size to 480KiB
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / yang / distributed-datastore-provider.yang
index e2e146c7c57756a37888fe89440dacd12c93498a..cdb534e3a446991c59ff79f9f5a2872aa8c22333 100644 (file)
@@ -39,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;
@@ -78,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.";
         }
 
 
@@ -184,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;
@@ -219,14 +211,14 @@ module distributed-datastore-provider {
 
         leaf shard-snapshot-chunk-size {
             status deprecated;
-            default 2048000;
+            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 2048000;
+            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.";
@@ -280,6 +272,30 @@ module distributed-datastore-provider {
             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.";
+        }
+
+        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 {