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%2Fdatastore%2FTransactionChainProxy.java;h=6cfc7e1f05ff78208de740994c7b370487d2d752;hp=cf00d5fa39e3d317fe99af05d2f30f112fcb6f22;hb=70b924258e6c87219c38bcfefb3781ee3d2e2d02;hpb=ae11ac10dfd3579b1b685455ea642bbb08de68f1 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionChainProxy.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionChainProxy.java index cf00d5fa39..6cfc7e1f05 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionChainProxy.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionChainProxy.java @@ -17,12 +17,11 @@ import java.util.List; import java.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import java.util.function.Function; import javax.annotation.Nonnull; -import org.opendaylight.controller.cluster.datastore.identifiers.TransactionChainIdentifier; -import org.opendaylight.controller.cluster.datastore.identifiers.TransactionIdentifier; +import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier; +import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.messages.CloseTransactionChain; import org.opendaylight.controller.cluster.datastore.messages.PrimaryShardInfo; import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; @@ -120,11 +119,9 @@ final class TransactionChainProxy extends AbstractTransactionContextFactory STATE_UPDATER = AtomicReferenceFieldUpdater.newUpdater(TransactionChainProxy.class, State.class, "currentState"); - private final TransactionChainIdentifier transactionChainId; private final TransactionContextFactory parent; private volatile State currentState = IDLE_STATE; @@ -149,17 +146,11 @@ final class TransactionChainProxy extends AbstractTransactionContextFactory> priorReadOnlyTxPromises = new ConcurrentHashMap<>(); - TransactionChainProxy(final TransactionContextFactory parent) { - super(parent.getActorContext()); - - transactionChainId = new TransactionChainIdentifier(parent.getActorContext().getCurrentMemberName(), CHAIN_COUNTER.incrementAndGet()); + TransactionChainProxy(final TransactionContextFactory parent, final LocalHistoryIdentifier historyId) { + super(parent.getActorContext(), historyId); this.parent = parent; } - public String getTransactionChainId() { - return transactionChainId.toString(); - } - @Override public DOMStoreReadTransaction newReadOnlyTransaction() { currentState.checkReady(); @@ -189,9 +180,9 @@ final class TransactionChainProxy extends AbstractTransactionContextFactory() { @Override public Object apply(Short version) { - return new CloseTransactionChain(transactionChainId.toString(), version).toSerializable(); + return new CloseTransactionChain(getHistoryId(), version).toSerializable(); } - }); + }, CloseTransactionChain.class); } private TransactionProxy allocateWriteTransaction(final TransactionType type) { @@ -234,7 +225,7 @@ final class TransactionChainProxy extends AbstractTransactionContextFactory