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%2FDataTreeChangeListenerActor.java;h=6f88d3ea986136416276fa39915c5bfe2673bee6;hb=f8208948eb67a26207343ca60b5b19286f5e4410;hp=5533fc8fad683756861305a45589115b422e4800;hpb=0175a376323f6c916b5a4340a27751ebef22fc83;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActor.java index 5533fc8fad..6f88d3ea98 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActor.java @@ -9,14 +9,15 @@ package org.opendaylight.controller.cluster.datastore; import static java.util.Objects.requireNonNull; +import akka.actor.ActorRef; import akka.actor.Props; import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor; import org.opendaylight.controller.cluster.datastore.messages.DataTreeChanged; import org.opendaylight.controller.cluster.datastore.messages.DataTreeChangedReply; -import org.opendaylight.controller.cluster.datastore.messages.DataTreeListenerInfo; import org.opendaylight.controller.cluster.datastore.messages.EnableNotification; import org.opendaylight.controller.cluster.datastore.messages.GetInfo; import org.opendaylight.controller.cluster.datastore.messages.OnInitialData; +import org.opendaylight.controller.cluster.mgmt.api.DataTreeListenerInfo; import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -59,9 +60,9 @@ class DataTreeChangeListenerActor extends AbstractUntypedActor { LOG.debug("{}: Notifying onInitialData to listener {}", logContext, listener); try { - this.listener.onInitialData(); + listener.onInitialData(); } catch (Exception e) { - LOG.error("{}: Error notifying listener {}", logContext, this.listener, e); + LOG.error("{}: Error notifying listener {}", logContext, listener, e); } } @@ -74,22 +75,29 @@ class DataTreeChangeListenerActor extends AbstractUntypedActor { return; } - LOG.debug("{}: Sending {} change notification(s) {} to listener {}", logContext, message.getChanges().size(), - message.getChanges(), listener); + final var changes = message.getChanges(); + LOG.debug("{}: Sending {} change notification(s) to listener {}", logContext, changes.size(), listener); + if (LOG.isTraceEnabled() && !changes.isEmpty()) { + LOG.trace("{}: detailed change follow", logContext); + for (int i = 0, size = changes.size(); i < size; ++i) { + LOG.trace("{}: change {}: {}", logContext, i, changes.get(i)); + } + } notificationCount++; try { - this.listener.onDataTreeChanged(message.getChanges()); + listener.onDataTreeChanged(changes); } catch (Exception e) { - LOG.error("{}: Error notifying listener {}", logContext, this.listener, e); + LOG.error("{}: Error notifying listener {}", logContext, listener, e); } // TODO: do we really need this? // It seems the sender is never null but it doesn't hurt to check. If the caller passes in // a null sender (ActorRef.noSender()), akka translates that to the deadLetters actor. - if (getSender() != null && !getContext().system().deadLetters().equals(getSender())) { - getSender().tell(DataTreeChangedReply.getInstance(), getSelf()); + final ActorRef sender = getSender(); + if (sender != null && !sender.equals(getContext().system().deadLetters())) { + sender.tell(DataTreeChangedReply.getInstance(), getSelf()); } }