summaryrefslogtreecommitdiffstats
path: root/vnfapi/provider/src
diff options
context:
space:
mode:
authorDan Timoney <dtimoney@att.com>2017-10-19 16:03:04 -0400
committerDan Timoney <dtimoney@att.com>2017-10-19 16:03:56 -0400
commit45ac56ef4f49b57bee4aa2cd52e4e41618ae2251 (patch)
tree87f69e5e3b030058047f531ef4ac7e03fea1a5c6 /vnfapi/provider/src
parent5fa42107512d9b06cb73877dd35739a0b5186840 (diff)
Ignore ModifiedNodeDoesNotExistException on delete
When trying to deleteVnf from operational or config tree, if a ModifiedNodeDoesNotExistException is cause for commit exception it means that the data you are trying to delete does not exist. So you wanted it gone, it's already gone ... log a message at debug level but don't fail the transaction. Change-Id: Iea0f4e78522cc2f437843e2b17080855cd314ea6 Issue-ID: SDNC-137 Signed-off-by: Dan Timoney <dtimoney@att.com>
Diffstat (limited to 'vnfapi/provider/src')
-rw-r--r--vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java b/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java
index a94d5e3b..28daac27 100644
--- a/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java
+++ b/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java
@@ -131,6 +131,7 @@ import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
@@ -778,16 +779,21 @@ public class vnfapiProvider implements AutoCloseable, VNFAPIService, DataChangeL
tx.submit().checkedGet();
log.debug("DataStore delete succeeded");
break;
- } catch (final TransactionCommitFailedException e) {
+ } catch (final TransactionCommitFailedException e) {
if (e instanceof OptimisticLockFailedException) {
if (--tries <= 0) {
log.debug("Got OptimisticLockFailedException on last try - failing ");
throw new IllegalStateException(e);
}
log.debug("Got OptimisticLockFailedException - trying again ");
- } else {
- log.debug("Delete DataStore failed");
- throw new IllegalStateException(e);
+ }
+ else {
+ if (e.getCause() instanceof ModifiedNodeDoesNotExistException) {
+ log.debug("Ignoring MpdifiedNodeDoesNotExistException");
+ } else {
+ log.debug("Delete DataStore failed");
+ throw new IllegalStateException(e);
+ }
}
}
}