Interface DataStoreProperties

  • All Superinterfaces:
    BindingObject, DataContainer, DataObject
    All Known Subinterfaces:
    DataStorePropertiesContainer

    public interface DataStoreProperties
    extends DataObject

    This class represents the following YANG schema fragment defined in module UnqualifiedQName{localName=distributed-datastore-provider}

     grouping data-store-properties {
       leaf max-shard-data-change-executor-queue-size {
         default 1000;
         type non-zero-uint32-type;
       }
       leaf max-shard-data-change-executor-pool-size {
         default 20;
         type non-zero-uint32-type;
       }
       leaf max-shard-data-change-listener-queue-size {
         default 1000;
         type non-zero-uint32-type;
       }
       leaf max-shard-data-store-executor-queue-size {
         default 5000;
         type non-zero-uint32-type;
       }
       leaf shard-transaction-idle-timeout-in-minutes {
         default 10;
         type non-zero-uint32-type;
       }
       leaf shard-snapshot-batch-count {
         default 20000;
         type non-zero-uint32-type;
       }
       leaf shard-snapshot-data-threshold-percentage {
         default 12;
         type percentage;
       }
       leaf shard-snapshot-data-threshold {
         default 0;
         type uint32 {
           range 0..max;
         }
       }
       leaf shard-heartbeat-interval-in-millis {
         default 500;
         type heartbeat-interval-type;
       }
       leaf shard-election-timeout-factor {
         default 20;
         type non-zero-uint32-type;
       }
       leaf operation-timeout-in-seconds {
         default 5;
         type operation-timeout-type;
       }
       leaf shard-journal-recovery-log-batch-size {
         default 1;
         type non-zero-uint32-type;
       }
       leaf shard-transaction-commit-timeout-in-seconds {
         default 30;
         type non-zero-uint32-type;
       }
       leaf shard-transaction-commit-queue-capacity {
         default 50000;
         type non-zero-uint32-type;
       }
       leaf shard-commit-queue-expiry-timeout-in-seconds {
         default 120;
         type non-zero-uint32-type;
       }
       leaf shard-initialization-timeout-in-seconds {
         default 300;
         type non-zero-uint32-type;
       }
       leaf shard-leader-election-timeout-in-seconds {
         default 30;
         type non-zero-uint32-type;
       }
       leaf initial-settle-timeout-multiplier {
         default 3;
         type uint32;
       }
       leaf recovery-snapshot-interval-seconds {
         default 0;
         type uint32;
       }
       leaf shard-batched-modification-count {
         default 1000;
         type non-zero-uint32-type;
       }
       leaf enable-metric-capture {
         default false;
         type boolean;
       }
       leaf bounded-mailbox-capacity {
         default 1000;
         type non-zero-uint32-type;
       }
       leaf persistent {
         default true;
         type boolean;
       }
       leaf snapshotOnRootOverwrite {
         default false;
         type boolean;
       }
       leaf shard-isolated-leader-check-interval-in-millis {
         default 5000;
         type heartbeat-interval-type;
       }
       leaf transaction-creation-initial-rate-limit {
         default 100;
         type non-zero-uint32-type;
       }
       leaf transaction-debug-context-enabled {
         default false;
         type boolean;
       }
       leaf custom-raft-policy-implementation {
         default "";
         type string;
       }
       leaf shard-snapshot-chunk-size {
         status deprecated;
         default 2048000;
         type non-zero-uint32-type;
       }
       leaf maximum-message-slice-size {
         default 2048000;
         type non-zero-uint32-type;
       }
       leaf use-tell-based-protocol {
         default false;
         type boolean;
       }
       leaf file-backed-streaming-threshold-in-megabytes {
         default 128;
         type non-zero-uint32-type;
       }
       leaf sync-index-threshold {
         default 10;
         type non-zero-uint32-type;
       }
       leaf backend-aliveness-timer-interval-in-seconds {
         default 30;
         type non-zero-uint32-type;
       }
       leaf frontend-request-timeout-in-seconds {
         default 120;
         type non-zero-uint32-type;
       }
       leaf frontend-no-progress-timeout-in-seconds {
         default 900;
         type non-zero-uint32-type;
       }
       leaf initial-payload-serialized-buffer-capacity {
         default 512;
         type non-zero-uint32-type;
       }
       leaf use-lz4-compression {
         default false;
         type boolean;
       }
     }
     
    The schema path to identify an instance is distributed-datastore-provider/data-store-properties
    • Field Detail

      • QNAME

        static final @NonNull QName QNAME
    • Method Detail

      • getMaxShardDataChangeExecutorQueueSize

        @Nullable NonZeroUint32Type getMaxShardDataChangeExecutorQueueSize()
        Return maxShardDataChangeExecutorQueueSize, or null if it is not present..
             
                 The maximum queue size for each shard's data store data change notification
                 executor.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type maxShardDataChangeExecutorQueueSize, or null if it is not present.
      • getMaxShardDataChangeExecutorPoolSize

        @Nullable NonZeroUint32Type getMaxShardDataChangeExecutorPoolSize()
        Return maxShardDataChangeExecutorPoolSize, or null if it is not present..
             
                 The maximum thread pool size for each shard's data store data change
                 notification executor.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type maxShardDataChangeExecutorPoolSize, or null if it is not present.
      • getMaxShardDataChangeListenerQueueSize

        @Nullable NonZeroUint32Type getMaxShardDataChangeListenerQueueSize()
        Return maxShardDataChangeListenerQueueSize, or null if it is not present..
             
                 The maximum queue size for each shard's data store data change listener.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type maxShardDataChangeListenerQueueSize, or null if it is not present.
      • getMaxShardDataStoreExecutorQueueSize

        @Nullable NonZeroUint32Type getMaxShardDataStoreExecutorQueueSize()
        Return maxShardDataStoreExecutorQueueSize, or null if it is not present..
             
                 The maximum queue size for each shard's data store executor.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type maxShardDataStoreExecutorQueueSize, or null if it is not present.
      • getShardTransactionIdleTimeoutInMinutes

        @Nullable NonZeroUint32Type getShardTransactionIdleTimeoutInMinutes()
        Return shardTransactionIdleTimeoutInMinutes, or null if it is not present..
             
                 The maximum amount of time a shard transaction can be idle without receiving any
                 messages before it self-destructs.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardTransactionIdleTimeoutInMinutes, or null if it is not present.
      • getShardSnapshotBatchCount

        @Nullable NonZeroUint32Type getShardSnapshotBatchCount()
        Return shardSnapshotBatchCount, or null if it is not present..
             
                 The minimum number of entries to be present in the in-memory journal log before
                 a snapshot is to be taken.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardSnapshotBatchCount, or null if it is not present.
      • getShardSnapshotDataThresholdPercentage

        @Nullable Percentage getShardSnapshotDataThresholdPercentage()
        Return shardSnapshotDataThresholdPercentage, or null if it is not present..
             
                 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.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.Percentage shardSnapshotDataThresholdPercentage, or null if it is not present.
      • getShardSnapshotDataThreshold

        @Nullable Uint32 getShardSnapshotDataThreshold()
        Return shardSnapshotDataThreshold, or null if it is not present..
             
                 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.
             
         
        Returns:
        org.opendaylight.yangtools.yang.common.Uint32 shardSnapshotDataThreshold, or null if it is not present.
      • getShardHeartbeatIntervalInMillis

        @Nullable HeartbeatIntervalType getShardHeartbeatIntervalInMillis()
        Return shardHeartbeatIntervalInMillis, or null if it is not present..
             
                 The interval at which a shard will send a heart beat message to its remote
                 shard.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.HeartbeatIntervalType shardHeartbeatIntervalInMillis, or null if it is not present.
      • getShardElectionTimeoutFactor

        @Nullable NonZeroUint32Type getShardElectionTimeoutFactor()
        Return shardElectionTimeoutFactor, or null if it is not present..
             
                 The multiplication factor to be used to determine shard election timeout. The
                 shard election timeout is determined by multiplying
                 shard-heartbeat-interval-in-millis with the shard-election-timeout-factor
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardElectionTimeoutFactor, or null if it is not present.
      • getOperationTimeoutInSeconds

        @Nullable OperationTimeoutType getOperationTimeoutInSeconds()
        Return operationTimeoutInSeconds, or null if it is not present..
             
                 The maximum amount of time for akka operations (remote or local) to complete
                 before failing.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.OperationTimeoutType operationTimeoutInSeconds, or null if it is not present.
      • getShardJournalRecoveryLogBatchSize

        @Nullable NonZeroUint32Type getShardJournalRecoveryLogBatchSize()
        Return shardJournalRecoveryLogBatchSize, or null if it is not present..
             
                 The maximum number of journal log entries to batch on recovery for a shard
                 before committing to the data store.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardJournalRecoveryLogBatchSize, or null if it is not present.
      • getShardTransactionCommitTimeoutInSeconds

        @Nullable NonZeroUint32Type getShardTransactionCommitTimeoutInSeconds()
        Return shardTransactionCommitTimeoutInSeconds, or null if it is not present..
             
                 The maximum amount of time a shard transaction three-phase commit can be idle
                 without receiving the next messages before it aborts the transaction
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardTransactionCommitTimeoutInSeconds, or null if it is not present.
      • getShardTransactionCommitQueueCapacity

        @Nullable NonZeroUint32Type getShardTransactionCommitQueueCapacity()
        Return shardTransactionCommitQueueCapacity, or null if it is not present..
             
                 The maximum allowed capacity for each shard's transaction commit queue.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardTransactionCommitQueueCapacity, or null if it is not present.
      • getShardCommitQueueExpiryTimeoutInSeconds

        @Nullable NonZeroUint32Type getShardCommitQueueExpiryTimeoutInSeconds()
        Return shardCommitQueueExpiryTimeoutInSeconds, or null if it is not present..
             
                 The maximum amount of time a transaction can remain in a shard's commit queue
                 waiting to begin the CanCommit phase as coordinated by the broker front-end.
                 Normally this should be quick but latencies can occur in between transaction
                 ready and CanCommit or a remote broker could lose connection and CanCommit might
                 never occur. Expiring transactions from the queue allows subsequent pending
                 transaction to be processed.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardCommitQueueExpiryTimeoutInSeconds, or null if it is not present.
      • getShardInitializationTimeoutInSeconds

        @Nullable NonZeroUint32Type getShardInitializationTimeoutInSeconds()
        Return shardInitializationTimeoutInSeconds, or null if it is not present..
             
                 The maximum amount of time to wait for a shard to initialize from persistence on
                 startup before failing an operation (eg transaction create and change listener
                 registration).
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardInitializationTimeoutInSeconds, or null if it is not present.
      • getShardLeaderElectionTimeoutInSeconds

        @Nullable NonZeroUint32Type getShardLeaderElectionTimeoutInSeconds()
        Return shardLeaderElectionTimeoutInSeconds, or null if it is not present..
             
                 The maximum amount of time to wait for a shard to elect a leader before failing
                 an operation (eg transaction create).
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardLeaderElectionTimeoutInSeconds, or null if it is not present.
      • getInitialSettleTimeoutMultiplier

        @Nullable Uint32 getInitialSettleTimeoutMultiplier()
        Return initialSettleTimeoutMultiplier, or null if it is not present..
             
                 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).
             
         
        Returns:
        org.opendaylight.yangtools.yang.common.Uint32 initialSettleTimeoutMultiplier, or null if it is not present.
      • getRecoverySnapshotIntervalSeconds

        @Nullable Uint32 getRecoverySnapshotIntervalSeconds()
        Return recoverySnapshotIntervalSeconds, or null if it is not present..
             
                 Interval after which a snapshot should be taken during the recovery process.
             
         
        Returns:
        org.opendaylight.yangtools.yang.common.Uint32 recoverySnapshotIntervalSeconds, or null if it is not present.
      • getShardBatchedModificationCount

        @Nullable NonZeroUint32Type getShardBatchedModificationCount()
        Return shardBatchedModificationCount, or null if it is not present..
             
                 The number of transaction modification operations (put, merge, delete) to batch
                 before sending to the shard transaction actor. Batching improves performance as
                 less modifications messages are sent to the actor and thus lessens the chance
                 that the transaction actor's mailbox queue could get full.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardBatchedModificationCount, or null if it is not present.
      • isEnableMetricCapture

        @Nullable Boolean isEnableMetricCapture()
        Return enableMetricCapture, or null if it is not present..
             
                 Enable or disable metric capture.
             
         
        Returns:
        java.lang.Boolean enableMetricCapture, or null if it is not present.
      • getBoundedMailboxCapacity

        @Nullable NonZeroUint32Type getBoundedMailboxCapacity()
        Return boundedMailboxCapacity, or null if it is not present..
             
                 Max queue size that an actor's mailbox can reach
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type boundedMailboxCapacity, or null if it is not present.
      • isPersistent

        @Nullable Boolean isPersistent()
        Return persistent, or null if it is not present..
             
                 Enable or disable data persistence
             
         
        Returns:
        java.lang.Boolean persistent, or null if it is not present.
      • isSnapshotOnRootOverwrite

        @Nullable Boolean isSnapshotOnRootOverwrite()
        Return snapshotOnRootOverwrite, or null if it is not present..
             
                 Enable or disable capturing snapshots on DataTree root overwrites
             
         
        Returns:
        java.lang.Boolean snapshotOnRootOverwrite, or null if it is not present.
      • getShardIsolatedLeaderCheckIntervalInMillis

        @Nullable HeartbeatIntervalType getShardIsolatedLeaderCheckIntervalInMillis()
        Return shardIsolatedLeaderCheckIntervalInMillis, or null if it is not present..
             
                 The interval at which the leader of the shard will check if its majority
                 followers are active and term itself as isolated
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.HeartbeatIntervalType shardIsolatedLeaderCheckIntervalInMillis, or null if it is not present.
      • getTransactionCreationInitialRateLimit

        @Nullable NonZeroUint32Type getTransactionCreationInitialRateLimit()
        Return transactionCreationInitialRateLimit, or null if it is not present..
             
                 The initial number of transactions per second that are allowed before the data
                 store should begin applying back pressure. This number is only used as an
                 initial guidance, subsequently the datastore measures the latency for a commit
                 and auto-adjusts the rate limit
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type transactionCreationInitialRateLimit, or null if it is not present.
      • isTransactionDebugContextEnabled

        @Nullable Boolean isTransactionDebugContextEnabled()
        Return transactionDebugContextEnabled, or null if it is not present..
             
                 Enable or disable transaction context debug. This will log the call site trace
                 for transactions that fail
             
         
        Returns:
        java.lang.Boolean transactionDebugContextEnabled, or null if it is not present.
      • getCustomRaftPolicyImplementation

        @Nullable String getCustomRaftPolicyImplementation()
        Return customRaftPolicyImplementation, or null if it is not present..
             
                 A fully qualified java class name. The class should implement
                 org.opendaylight.controller.cluster.raft.policy.RaftPolicy. This java class
                 should be accessible to the distributed data store OSGi module so that it can be
                 dynamically loaded via reflection. For now let's assume that these classes to
                 customize raft behaviors should be present in the distributed data store module
                 itself. If this property is set to a class which cannot be found then the
                 default raft behavior will be applied
             
         
        Returns:
        java.lang.String customRaftPolicyImplementation, or null if it is not present.
      • getShardSnapshotChunkSize

        @Deprecated
        @Nullable NonZeroUint32Type getShardSnapshotChunkSize()
        Deprecated.
        Return shardSnapshotChunkSize, or null if it is not present..
             
                 When sending a snapshot to a follower, this is the maximum size in bytes for a
                 chunk of data.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type shardSnapshotChunkSize, or null if it is not present.
      • getMaximumMessageSliceSize

        @Nullable NonZeroUint32Type getMaximumMessageSliceSize()
        Return maximumMessageSliceSize, or null if it is not present..
             
                 When fragmenting messages thru the akka remoting framework, this is the maximum
                 size in bytes for a message slice.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type maximumMessageSliceSize, or null if it is not present.
      • isUseTellBasedProtocol

        @Nullable Boolean isUseTellBasedProtocol()
        Return useTellBasedProtocol, or null if it is not present..
             
                 Use a newer protocol between the frontend and backend. This feature is
                 considered exprerimental at this point.
             
         
        Returns:
        java.lang.Boolean useTellBasedProtocol, or null if it is not present.
      • getFileBackedStreamingThresholdInMegabytes

        @Nullable NonZeroUint32Type getFileBackedStreamingThresholdInMegabytes()
        Return fileBackedStreamingThresholdInMegabytes, or null if it is not present..
             
                 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.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type fileBackedStreamingThresholdInMegabytes, or null if it is not present.
      • getSyncIndexThreshold

        @Nullable NonZeroUint32Type getSyncIndexThreshold()
        Return syncIndexThreshold, or null if it is not present..
             
                 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.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type syncIndexThreshold, or null if it is not present.
      • getBackendAlivenessTimerIntervalInSeconds

        @Nullable NonZeroUint32Type getBackendAlivenessTimerIntervalInSeconds()
        Return backendAlivenessTimerIntervalInSeconds, or null if it is not present..
             
                 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.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type backendAlivenessTimerIntervalInSeconds, or null if it is not present.
      • getFrontendRequestTimeoutInSeconds

        @Nullable NonZeroUint32Type getFrontendRequestTimeoutInSeconds()
        Return frontendRequestTimeoutInSeconds, or null if it is not present..
             
                 The timeout interval whereby client frontend transaction requests are failed.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type frontendRequestTimeoutInSeconds, or null if it is not present.
      • getFrontendNoProgressTimeoutInSeconds

        @Nullable NonZeroUint32Type getFrontendNoProgressTimeoutInSeconds()
        Return frontendNoProgressTimeoutInSeconds, or null if it is not present..
             
                 The timeout interval whereby the client front-end hasn't made progress with the
                 back-end on any request and terminates.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type frontendNoProgressTimeoutInSeconds, or null if it is not present.
      • getInitialPayloadSerializedBufferCapacity

        @Nullable NonZeroUint32Type getInitialPayloadSerializedBufferCapacity()
        Return initialPayloadSerializedBufferCapacity, or null if it is not present..
             
                 The initial buffer capacity, in bytes, to use when serializing message payloads.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.NonZeroUint32Type initialPayloadSerializedBufferCapacity, or null if it is not present.
      • isUseLz4Compression

        @Nullable Boolean isUseLz4Compression()
        Return useLz4Compression, or null if it is not present..
             
                 Use lz4 compression for snapshots, sent from leader to follower, for snapshots
                 stored by LocalSnapshotStore, use akka.conf configuration.
             
         
        Returns:
        java.lang.Boolean useLz4Compression, or null if it is not present.