X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FTransactionContextFactory.java;h=db8dedcf353c3450e5475dc5cb2c8723dd401f0a;hb=bb1891e328feee08ccd29c96034e967f1eeccece;hp=8d7ca990dd48f3605854a3ea00f67dbf6c85cd3d;hpb=daaef05cbf70e6cbec9af181258faead6d9620a6;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionContextFactory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionContextFactory.java index 8d7ca990dd..db8dedcf35 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionContextFactory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionContextFactory.java @@ -8,13 +8,10 @@ package org.opendaylight.controller.cluster.datastore; import akka.actor.ActorSelection; -import java.util.ArrayList; import java.util.Collection; -import javax.annotation.concurrent.GuardedBy; import org.opendaylight.controller.cluster.datastore.identifiers.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.messages.PrimaryShardInfo; import org.opendaylight.controller.cluster.datastore.utils.ActorContext; -import org.opendaylight.controller.cluster.datastore.utils.ShardInfoListenerRegistration; import org.opendaylight.controller.sal.core.spi.data.DOMStoreTransactionChain; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree; import scala.concurrent.Future; @@ -25,14 +22,8 @@ import scala.concurrent.Future; */ final class TransactionContextFactory extends AbstractTransactionContextFactory { - @GuardedBy("childChains") - private final Collection childChains = new ArrayList<>(); - - private final ShardInfoListenerRegistration reg; - private TransactionContextFactory(final ActorContext actorContext) { super(actorContext); - this.reg = actorContext.registerShardInfoListener(this); } static TransactionContextFactory create(final ActorContext actorContext) { @@ -41,12 +32,11 @@ final class TransactionContextFactory extends AbstractTransactionContextFactory< @Override public void close() { - reg.close(); } @Override protected TransactionIdentifier nextIdentifier() { - return TransactionIdentifier.create(getMemberName(), TX_COUNTER.getAndIncrement(), null); + return TransactionIdentifier.create(getMemberName(), TX_COUNTER.getAndIncrement()); } @Override @@ -55,7 +45,7 @@ final class TransactionContextFactory extends AbstractTransactionContextFactory< } @Override - protected Future findPrimaryShard(final String shardName) { + protected Future findPrimaryShard(final String shardName, TransactionIdentifier txId) { return getActorContext().findPrimaryShardAsync(shardName); } @@ -65,33 +55,10 @@ final class TransactionContextFactory extends AbstractTransactionContextFactory< } DOMStoreTransactionChain createTransactionChain() { - final TransactionChainProxy ret = new TransactionChainProxy(this); - - synchronized (childChains) { - childChains.add(ret); - } - - return ret; - } - - void removeTransactionChain(final TransactionChainProxy chain) { - synchronized (childChains) { - childChains.remove(chain); - } - } - - @Override - public void onShardInfoUpdated(final String shardName, final PrimaryShardInfo primaryShardInfo) { - synchronized (childChains) { - for (TransactionChainProxy chain : childChains) { - chain.onShardInfoUpdated(shardName, primaryShardInfo); - } - super.onShardInfoUpdated(shardName, primaryShardInfo); - } + return new TransactionChainProxy(this); } @Override - protected DataTree dataTreeForFactory(final LocalTransactionFactoryImpl factory) { - return factory.getDataTree(); + protected void onTransactionContextCreated(TransactionIdentifier transactionId) { } }