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%2FDataChangeListener.java;h=1bc835f1e3c6883196d4a9a6b1f334bb16f9dca7;hp=9a77e4d568961b72f26dec9716b29a5f5f0b9ccd;hb=37f0504d391efd8b7d61403759fcc22a6dd3a093;hpb=139937c2e646894af6a9b2b8a8a1047c6ef82485 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListener.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListener.java index 9a77e4d568..1bc835f1e3 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListener.java @@ -62,12 +62,16 @@ public class DataChangeListener extends AbstractUntypedActor { LOG.debug("Sending change notification {} to listener {}", change, listener); - this.listener.onDataChanged(change); + try { + this.listener.onDataChanged(change); + } catch (RuntimeException e) { + LOG.error( String.format( "Error notifying listener %s", this.listener ), e ); + } // 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(new DataChangedReply(), getSelf()); + getSender().tell(DataChangedReply.INSTANCE, getSelf()); } }