X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatabroker%2Factors%2Fdds%2FLocalProxyTransaction.java;h=5e78f44905a39d9f44e0f50a2d150eac95f002bc;hb=refs%2Fchanges%2F12%2F52212%2F3;hp=f75d443fc79f4acc9d2b1007ae941f6c1482b494;hpb=5cb0787412ab63a3aa5dcc044511e1ce569662cf;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransaction.java index f75d443fc7..5e78f44905 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransaction.java @@ -21,6 +21,7 @@ import org.opendaylight.controller.cluster.access.commands.ExistsTransactionSucc import org.opendaylight.controller.cluster.access.commands.ModifyTransactionRequest; import org.opendaylight.controller.cluster.access.commands.ReadTransactionRequest; import org.opendaylight.controller.cluster.access.commands.ReadTransactionSuccess; +import org.opendaylight.controller.cluster.access.commands.TransactionPurgeRequest; import org.opendaylight.controller.cluster.access.commands.TransactionRequest; import org.opendaylight.controller.cluster.access.concepts.Response; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; @@ -100,6 +101,8 @@ abstract class LocalProxyTransaction extends AbstractProxyTransaction { final YangInstanceIdentifier path = ((ExistsTransactionRequest) request).getPath(); final boolean result = readOnlyView().readNode(path).isPresent(); callback.accept(new ExistsTransactionSuccess(request.getTarget(), request.getSequence(), result)); + } else if (request instanceof TransactionPurgeRequest) { + purge(); } else { throw new IllegalArgumentException("Unhandled request " + request); } @@ -130,7 +133,7 @@ abstract class LocalProxyTransaction extends AbstractProxyTransaction { } }); - successor.seal(); + successor.ensureSealed(); final ModifyTransactionRequest successorReq = successor.commitRequest(req.isCoordinated()); successor.sendRequest(successorReq, callback); @@ -147,6 +150,8 @@ abstract class LocalProxyTransaction extends AbstractProxyTransaction { final Consumer> callback) { if (request instanceof AbortLocalTransactionRequest) { successor.sendAbort(request, callback); + } else if (request instanceof TransactionPurgeRequest) { + successor.purge(); } else { throw new IllegalArgumentException("Unhandled request" + request); }