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%2FClientBackedDataStore.java;h=73622a072c3bebcd65ea758e28db4ce195b4d90a;hp=940e5b2fbb162d9e5aa317a30b9edb48a07dfde6;hb=02d2891da4b71fe01ea8027a88ac6ddd353c2bcd;hpb=28e9832cc97a345d5ceb69262784e5c8fef77e37 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/ClientBackedDataStore.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/ClientBackedDataStore.java index 940e5b2fbb..73622a072c 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/ClientBackedDataStore.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/ClientBackedDataStore.java @@ -17,10 +17,10 @@ import org.opendaylight.controller.cluster.datastore.DatastoreContextFactory; import org.opendaylight.controller.cluster.datastore.config.Configuration; import org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshot; import org.opendaylight.controller.cluster.datastore.utils.ActorContext; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreReadTransaction; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreReadWriteTransaction; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreTransactionChain; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreWriteTransaction; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionChain; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction; /** * Implements a distributed DOMStore using ClientActor. @@ -41,21 +41,29 @@ public class ClientBackedDataStore extends AbstractDataStore { @Override public DOMStoreTransactionChain createTransactionChain() { - return new ClientBackedTransactionChain(getClient().createLocalHistory()); + return new ClientBackedTransactionChain(getClient().createLocalHistory(), debugAllocation()); } @Override public DOMStoreReadTransaction newReadOnlyTransaction() { - return new ClientBackedReadTransaction(getClient().createSnapshot(), null); + return new ClientBackedReadTransaction(getClient().createSnapshot(), null, allocationContext()); } @Override public DOMStoreWriteTransaction newWriteOnlyTransaction() { - return new ClientBackedWriteTransaction(getClient().createTransaction()); + return new ClientBackedWriteTransaction(getClient().createTransaction(), allocationContext()); } @Override public DOMStoreReadWriteTransaction newReadWriteTransaction() { - return new ClientBackedReadWriteTransaction(getClient().createTransaction()); + return new ClientBackedReadWriteTransaction(getClient().createTransaction(), allocationContext()); + } + + private boolean debugAllocation() { + return getActorContext().getDatastoreContext().isTransactionDebugContextEnabled(); + } + + private Throwable allocationContext() { + return debugAllocation() ? new Throwable("allocated at") : null; } }