Handle the case when newModification() fails 82/100782/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 19 Apr 2022 20:53:18 +0000 (22:53 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 24 Apr 2022 21:59:16 +0000 (23:59 +0200)
commitfb474762f1b09d6e89d02d4dd238a33ad00bf3cc
tree7cad4353e9e34c6f1c0cad279b157aa726f8e2b9
parent9edb96773c5e4dda3d5de333770207c04ac2c871
Handle the case when newModification() fails

When we are chaining DataTreeModification on top of each other, it is
possible that we have an invalid modification, which fails to apply. In
that case there is nothing we can do, as we cannot establish a baseline.

Handle this case by allocating a specialized modification
implementation, which allows close to no interactions.

JIRA: CONTROLLER-2039
Change-Id: I9b55da7ccc89c9aeae641a049397d2120e292a9c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 7441c30c82b4007a09942839baca5c84de9e50b3)
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransaction.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/FailedDataTreeModification.java [new file with mode: 0644]
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/FailedDataTreeModificationException.java [new file with mode: 0644]
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransaction.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransaction.java