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%2FShardTransactionChain.java;h=943a82f6f9f03565369062bdd8f7779bea5921f0;hp=484bd54a0743616ebb3fdb3bd95f0c1c253b1996;hb=73e969cf365dd78772596c71e940ae44fe2f22d3;hpb=7a569e082e6be2fd081e8df16666d44e1fe9274a diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransactionChain.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransactionChain.java index 484bd54a07..943a82f6f9 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransactionChain.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransactionChain.java @@ -11,6 +11,7 @@ package org.opendaylight.controller.cluster.datastore; import akka.actor.ActorRef; import akka.actor.Props; import akka.japi.Creator; +import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor; import org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard.ShardStats; import org.opendaylight.controller.cluster.datastore.messages.CloseTransactionChain; @@ -55,23 +56,26 @@ public class ShardTransactionChain extends AbstractUntypedActor { return getContext().parent(); } - private ActorRef createTypedTransactionActor(CreateTransaction createTransaction, - String transactionId) { + private ActorRef createTypedTransactionActor(CreateTransaction createTransaction) { + String transactionName = "shard-" + createTransaction.getTransactionId(); if(createTransaction.getTransactionType() == TransactionProxy.TransactionType.READ_ONLY.ordinal()) { return getContext().actorOf( ShardTransaction.props( chain.newReadOnlyTransaction(), getShardActor(), - schemaContext, datastoreContext, shardStats), transactionId); + schemaContext, datastoreContext, shardStats, + createTransaction.getTransactionId()), transactionName); } else if (createTransaction.getTransactionType() == TransactionProxy.TransactionType.READ_WRITE.ordinal()) { return getContext().actorOf( ShardTransaction.props( chain.newReadWriteTransaction(), getShardActor(), - schemaContext, datastoreContext, shardStats), transactionId); + schemaContext, datastoreContext, shardStats, + createTransaction.getTransactionId()), transactionName); } else if (createTransaction.getTransactionType() == TransactionProxy.TransactionType.WRITE_ONLY.ordinal()) { return getContext().actorOf( ShardTransaction.props( chain.newWriteOnlyTransaction(), getShardActor(), - schemaContext, datastoreContext, shardStats), transactionId); + schemaContext, datastoreContext, shardStats, + createTransaction.getTransactionId()), transactionName); } else { throw new IllegalArgumentException ( "CreateTransaction message has unidentified transaction type=" + @@ -81,10 +85,9 @@ public class ShardTransactionChain extends AbstractUntypedActor { private void createTransaction(CreateTransaction createTransaction) { - ActorRef transactionActor = createTypedTransactionActor(createTransaction, "shard-" + createTransaction.getTransactionId()); - getSender() - .tell(new CreateTransactionReply(transactionActor.path().toString(),createTransaction.getTransactionId()).toSerializable(), - getSelf()); + ActorRef transactionActor = createTypedTransactionActor(createTransaction); + getSender().tell(new CreateTransactionReply(transactionActor.path().toString(), + createTransaction.getTransactionId()).toSerializable(), getSelf()); } public static Props props(DOMStoreTransactionChain chain, SchemaContext schemaContext,