From: Robert Varga Date: Tue, 7 May 2019 11:22:10 +0000 (+0200) Subject: Make sure we purge transaction on abort X-Git-Tag: release/sodium~93 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=bc301a153a07be7c23327e85179974422624c80a;ds=sidebyside Make sure we purge transaction on abort In case of read-only transactions it is not sufficient to just persist the abort payload, we need to also purge the transaction. Change-Id: I8761040d074743b5a1c5eebbecc6449c30abe47e JIRA: CONTROLLER-1879 Signed-off-by: Robert Varga --- 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 98b02432e5..897527764c 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 @@ -365,6 +365,7 @@ public class Shard extends RaftActor { final TransactionIdentifier txId = ((PersistAbortTransactionPayload) message).getTransactionId(); persistPayload(txId, AbortTransactionPayload.create( txId, datastoreContext.getInitialPayloadSerializedBufferCapacity()), true); + store.purgeTransaction(txId, null); } else if (message instanceof MakeLeaderLocal) { onMakeLeaderLocal(); } else if (RESUME_NEXT_PENDING_TRANSACTION.equals(message)) {