X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2FBrokerFacade.java;h=7cd20ee733dac07483bb378429ff6a6a6f64cc75;hb=0766a1f4d4c78ef0a6e9f8e3cd4cd9131cfa02f4;hp=95fb9a4826d2b6c5115c31d6dfff066b9a0b4af5;hpb=dd32d3d246ebad8b7c76afb93239a4462f329a6b;p=controller.git diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.java index 95fb9a4826..7cd20ee733 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.java @@ -205,6 +205,7 @@ public class BrokerFacade { if (optionalDatastoreData.isPresent() && payload.equals(optionalDatastoreData.get())) { String errMsg = "Post Configuration via Restconf was not executed because data already exists"; LOG.trace(errMsg + ":{}", path); + rWTransaction.cancel(); throw new RestconfDocumentedException("Data already exists for path: " + path, ErrorType.PROTOCOL, ErrorTag.DATA_EXISTS); } @@ -250,6 +251,7 @@ public class BrokerFacade { try { currentOp = currentOp.getChild(currentArg); } catch (DataNormalizationException e) { + rwTx.cancel(); throw new IllegalArgumentException( String.format("Invalid child encountered in path %s", normalizedPath), e); } @@ -264,6 +266,7 @@ public class BrokerFacade { exists = future.checkedGet(); } catch (ReadFailedException e) { LOG.error("Failed to read pre-existing data from store {} path {}", store, currentPath, e); + rwTx.cancel(); throw new IllegalStateException("Failed to read pre-existing data", e); }