X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatabroker%2Factors%2Fdds%2FLocalReadWriteProxyTransaction.java;h=76ad672255c77dba307971e24c1350c59ef34b34;hp=77e2a6a6ccd9e2e3085589f6a1a751df537a0245;hb=7991491f2854dde2ec625ed6c08b44df7d258795;hpb=9a43e73e06986dd00e44015a8dd913b9e8a66f30 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransaction.java index 77e2a6a6cc..76ad672255 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransaction.java @@ -20,6 +20,7 @@ import org.opendaylight.controller.cluster.access.commands.AbortLocalTransaction import org.opendaylight.controller.cluster.access.commands.AbstractLocalTransactionRequest; import org.opendaylight.controller.cluster.access.commands.CommitLocalTransactionRequest; import org.opendaylight.controller.cluster.access.commands.ModifyTransactionRequest; +import org.opendaylight.controller.cluster.access.commands.ModifyTransactionRequestBuilder; import org.opendaylight.controller.cluster.access.commands.PersistenceProtocol; import org.opendaylight.controller.cluster.access.commands.TransactionAbortRequest; import org.opendaylight.controller.cluster.access.commands.TransactionDelete; @@ -196,23 +197,28 @@ final class LocalReadWriteProxyTransaction extends LocalProxyTransaction { } @Override - void flushState(final AbstractProxyTransaction successor) { + Optional flushState() { + final ModifyTransactionRequestBuilder b = new ModifyTransactionRequestBuilder(getIdentifier(), localActor()); + b.setSequence(0); + sealedModification.applyToCursor(new AbstractDataTreeModificationCursor() { @Override public void write(final PathArgument child, final NormalizedNode data) { - successor.write(current().node(child), data); + b.addModification(new TransactionWrite(current().node(child), data)); } @Override public void merge(final PathArgument child, final NormalizedNode data) { - successor.merge(current().node(child), data); + b.addModification(new TransactionMerge(current().node(child), data)); } @Override public void delete(final PathArgument child) { - successor.delete(current().node(child)); + b.addModification(new TransactionDelete(current().node(child))); } }); + + return Optional.of(b.build()); } DataTreeSnapshot getSnapshot() {