From: Moiz Raja Date: Thu, 12 Feb 2015 03:46:39 +0000 (-0800) Subject: BUG 2705 : No need to ReadData asynchronously in ShardTransaction X-Git-Tag: release/lithium~549^2~14^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=e044aab539e523488b6820717afbcafb0cb70f5b;ds=sidebyside BUG 2705 : No need to ReadData asynchronously in ShardTransaction Change-Id: I15a065e5fbc67c0c1d82e98e28252dd4ce0c983c Signed-off-by: Moiz Raja --- diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java index 8a37dfee4d..1e2386ae1b 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java @@ -124,29 +124,20 @@ public abstract class ShardTransaction extends AbstractUntypedActorWithMetering protected void readData(DOMStoreReadTransaction transaction, ReadData message, final boolean returnSerialized) { - final ActorRef sender = getSender(); - final ActorRef self = getSelf(); - final YangInstanceIdentifier path = message.getPath(); - final CheckedFuture>, ReadFailedException> future = - transaction.read(path); - - future.addListener(new Runnable() { - @Override - public void run() { - try { - Optional> optional = future.checkedGet(); - ReadDataReply readDataReply = new ReadDataReply(optional.orNull()); - sender.tell((returnSerialized ? readDataReply.toSerializable(clientTxVersion): - readDataReply), self); + final YangInstanceIdentifier path = message.getPath(); + try { + final CheckedFuture>, ReadFailedException> future = transaction.read(path); + Optional> optional = future.checkedGet(); + ReadDataReply readDataReply = new ReadDataReply(optional.orNull()); - } catch (Exception e) { - shardStats.incrementFailedReadTransactionsCount(); - sender.tell(new akka.actor.Status.Failure(e), self); - } + sender().tell((returnSerialized ? readDataReply.toSerializable(clientTxVersion): readDataReply), self()); - } - }, getContext().dispatcher()); + } catch (Exception e) { + LOG.error(String.format("Unexpected error reading path %s", path), e); + shardStats.incrementFailedReadTransactionsCount(); + sender().tell(new akka.actor.Status.Failure(e), self()); + } } protected void dataExists(DOMStoreReadTransaction transaction, DataExists message,