X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FShard.java;h=84c399deb26be96fe969f76bf66692f7ee4b8438;hp=90c47256b4c6b33bdf8e3b4f71eef7d88bb7fe90;hb=c4f9bb0e408bfaff5c1730e574e8ef1ebe80ac7b;hpb=3a925aba9b5cb3b6e4af7f25f7b8e5420ced9498 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java index 90c47256b4..84c399deb2 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java @@ -450,16 +450,15 @@ public class Shard extends RaftActor { updateConfigParams(datastoreContext.getShardRaftConfig()); } - boolean canSkipPayload() { - // If we do not have any followers and we are not using persistence we can apply modification to the state - // immediately - return !hasFollowers() && !persistence().isRecoveryApplicable(); - } - // applyState() will be invoked once consensus is reached on the payload void persistPayload(final TransactionIdentifier transactionId, final Payload payload, boolean batchHint) { - // We are faking the sender - persistData(self(), transactionId, payload, batchHint); + boolean canSkipPayload = !hasFollowers() && !persistence().isRecoveryApplicable(); + if (canSkipPayload) { + applyState(self(), transactionId, payload); + } else { + // We are faking the sender + persistData(self(), transactionId, payload, batchHint); + } } private void handleCommitTransaction(final CommitTransaction commit) {