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%2FShard.java;h=1c0a5b5dec5cc87e9ef8181b6e85f374388bf1db;hb=b124e8216055ee30a87207c8b8a95e5c9661f291;hp=9ea22fc1967f117ec8284ffbaee140da27c394d9;hpb=7ec296abdea94bbdc336276731ee545a2fb13e7c;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java index 9ea22fc196..1c0a5b5dec 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java @@ -226,7 +226,7 @@ public class Shard extends RaftActor { } try { - if (CreateTransaction.SERIALIZABLE_CLASS.isInstance(message)) { + if (CreateTransaction.isSerializedType(message)) { handleCreateTransaction(message); } else if (BatchedModifications.class.isInstance(message)) { handleBatchedModifications((BatchedModifications)message); @@ -234,13 +234,13 @@ public class Shard extends RaftActor { handleForwardedReadyTransaction((ForwardedReadyTransaction) message); } else if (message instanceof ReadyLocalTransaction) { handleReadyLocalTransaction((ReadyLocalTransaction)message); - } else if (CanCommitTransaction.SERIALIZABLE_CLASS.isInstance(message)) { + } else if (CanCommitTransaction.isSerializedType(message)) { handleCanCommitTransaction(CanCommitTransaction.fromSerializable(message)); - } else if (CommitTransaction.SERIALIZABLE_CLASS.isInstance(message)) { + } else if (CommitTransaction.isSerializedType(message)) { handleCommitTransaction(CommitTransaction.fromSerializable(message)); - } else if (AbortTransaction.SERIALIZABLE_CLASS.isInstance(message)) { + } else if (AbortTransaction.isSerializedType(message)) { handleAbortTransaction(AbortTransaction.fromSerializable(message)); - } else if (CloseTransactionChain.SERIALIZABLE_CLASS.isInstance(message)) { + } else if (CloseTransactionChain.isSerializedType(message)) { closeTransactionChain(CloseTransactionChain.fromSerializable(message)); } else if (message instanceof RegisterChangeListener) { changeSupport.onMessage((RegisterChangeListener) message, isLeader(), hasLeader()); @@ -347,7 +347,7 @@ public class Shard extends RaftActor { try { cohortEntry.commit(); - sender.tell(CommitTransactionReply.INSTANCE.toSerializable(), getSelf()); + sender.tell(CommitTransactionReply.instance(cohortEntry.getClientVersion()).toSerializable(), getSelf()); shardMBean.incrementCommittedTransactionCount(); shardMBean.setLastCommittedTransactionTime(System.currentTimeMillis()); @@ -384,7 +384,8 @@ public class Shard extends RaftActor { LOG.error("{}: Failed to re-apply transaction {}", persistenceId(), transactionID, e); } - sender.tell(CommitTransactionReply.INSTANCE.toSerializable(), getSelf()); + sender.tell(CommitTransactionReply.instance(cohortEntry.getClientVersion()).toSerializable(), + getSelf()); } else { // This really shouldn't happen - it likely means that persistence or replication // took so long to complete such that the cohort entry was expired from the cache. @@ -532,11 +533,10 @@ public class Shard extends RaftActor { } private ActorRef createTypedTransactionActor(int transactionType, - ShardTransactionIdentifier transactionId, String transactionChainId, - short clientVersion ) { + ShardTransactionIdentifier transactionId, String transactionChainId) { return transactionActorFactory.newShardTransaction(TransactionType.fromInt(transactionType), - transactionId, transactionChainId, clientVersion); + transactionId, transactionChainId); } private void createTransaction(CreateTransaction createTransaction) { @@ -547,18 +547,17 @@ public class Shard extends RaftActor { } ActorRef transactionActor = createTransaction(createTransaction.getTransactionType(), - createTransaction.getTransactionId(), createTransaction.getTransactionChainId(), - createTransaction.getVersion()); + createTransaction.getTransactionId(), createTransaction.getTransactionChainId()); getSender().tell(new CreateTransactionReply(Serialization.serializedActorPath(transactionActor), - createTransaction.getTransactionId()).toSerializable(), getSelf()); + createTransaction.getTransactionId(), createTransaction.getVersion()).toSerializable(), getSelf()); } catch (Exception e) { getSender().tell(new akka.actor.Status.Failure(e), getSelf()); } } private ActorRef createTransaction(int transactionType, String remoteTransactionId, - String transactionChainId, short clientVersion) { + String transactionChainId) { ShardTransactionIdentifier transactionId = new ShardTransactionIdentifier(remoteTransactionId); @@ -568,7 +567,7 @@ public class Shard extends RaftActor { } ActorRef transactionActor = createTypedTransactionActor(transactionType, transactionId, - transactionChainId, clientVersion); + transactionChainId); return transactionActor; }