X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FAbstractTransactionContextFactory.java;h=d8dda25cc78d524d0ed7241500dbff50de9f669b;hb=bb1891e328feee08ccd29c96034e967f1eeccece;hp=a0071c3f47d7ae0b9a147980eb22ec377d5660ba;hpb=9681454e5a6acb2ce5e87c72c06e6a03e901c765;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionContextFactory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionContextFactory.java index a0071c3f47..d8dda25cc7 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionContextFactory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionContextFactory.java @@ -55,7 +55,12 @@ abstract class AbstractTransactionContextFactory findPrimaryFuture = findPrimaryShard(shardName, parent.getIdentifier().toString()); + Future findPrimaryFuture = findPrimaryShard(shardName, parent.getIdentifier()); if(findPrimaryFuture.isCompleted()) { Try maybe = findPrimaryFuture.value().get(); if(maybe.isSuccess()) { @@ -154,7 +167,8 @@ abstract class AbstractTransactionContextFactory findPrimaryShard(String shardName, String txId); + protected abstract Future findPrimaryShard(@Nonnull String shardName, + @Nonnull TransactionIdentifier txId); /** * Create local transaction factory for specified shard, backed by specified shard leader @@ -175,6 +189,13 @@ abstract class AbstractTransactionContextFactory void onTransactionReady(@Nonnull TransactionIdentifier transaction, @Nonnull Collection> cohortFutures); + /** + * Callback invoked when the internal TransactionContext has been created for a transaction. + * + * @param transactionId the ID of the transaction. + */ + protected abstract void onTransactionContextCreated(@Nonnull TransactionIdentifier transactionId); + private static TransactionContext createLocalTransactionContext(final LocalTransactionFactory factory, final TransactionProxy parent) {