[CONTROLLER-862] Clustering : DataChangedReply being sent to dead letter Created: 19/Sep/14  Updated: 16/Oct/14  Resolved: 16/Oct/14

Status: Resolved
Project: controller
Component/s: mdsal
Affects Version/s: Helium
Fix Version/s: None

Type: Bug
Reporter: Moiz Raja Assignee: Tom Pantelis
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 1965

 Description   

If no actor is consuming DataChangeReply then it should not be generated at all because it is simply being sent to deadletters

2014-09-18 17:35:46,097 | INFO | lt-dispatcher-35 | rovider$RemoteDeadLetterActorRef | 225 - com.typesafe.akka.slf4j - 2.3.4 | Message [org.opendaylight.controller.cluster.datastore.messages.DataChangedReply] from Actorakka://opendaylight-cluster-data/user/$a#-1271712734 to Actor[akka://opendaylight-cluster-data/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
2014-09-18 17:35:46,127 | INFO | lt-dispatcher-34 | rovider$RemoteDeadLetterActorRef | 225 - com.typesafe.akka.slf4j - 2.3.4 | Message [org.opendaylight.controller.cluster.datastore.messages.DataChangedReply] from Actorakka://opendaylight-cluster-data/user/$a#-1271712734 to Actor[akka://opendaylight-cluster-data/deadLetters] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
2014-09-18 17:35:46,156 | INFO | lt-dispatcher-15 | rovider$RemoteDeadLetterActorRef | 225 - com.typesafe.akka.slf4j - 2.3.4 | Message [org.opendaylight.controller.cluster.datastore.messages.DataChangedReply] from Actorakka://opendaylight-cluster-data/user/$b#-308772478 to Actor[akka://opendaylight-cluster-data/deadLetters] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
2014-09-18 17:35:46,163 | INFO | lt-dispatcher-22 | rovider$RemoteDeadLetterActorRef | 225 - com.typesafe.akka.slf4j - 2.3.4 | Message [org.opendaylight.controller.cluster.datastore.messages.DataChangedReply] from Actorakka://opendaylight-cluster-data/user/$b#-308772478 to Actor[akka://opendaylight-cluster-data/deadLetters] was not delivered. [4] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
2014-09-18 17:35:46,173 | INFO | lt-dispatcher-22 | rovider$RemoteDeadLetterActorRef | 225 - com.typesafe.akka.slf4j - 2.3.4 | Message [org.opendaylight.controller.cluster.datastore.messages.DataChangedReply] from Actorakka://opendaylight-cluster-data/user/$a#-1271712734 to Actor[akka://opendaylight-cluster-data/deadLetters] was not delivered. [5] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
2014-09-18 17:35:46,177 | INFO | ult-dispatcher-2 | rovider$RemoteDeadLetterActorRef | 225 - com.typesafe.akka.slf4j - 2.3.4 | Message [org.opendaylight.controller.cluster.datastore.messages.DataChangedReply] from Actorakka://opendaylight-cluster-data/user/$b#-308772478 to Actor[akka://opendaylight-cluster-data/deadLetters] was not delivered. [6] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
2014-09-18 17:35:46,210 | INFO | lt-dispatcher-15 | rovider$RemoteDeadLetterActorRef | 225 - com.typesafe.akka.slf4j - 2.3.4 | Message [org.opendaylight.controller.cluster.datastore.messages.DataChangedReply] from Actorakka://opendaylight-cluster-data/user/$a#-1271712734 to Actor[akka://opendaylight-cluster-data/deadLetters] was not delivered. [7] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
2014-09-18 17:35:46,215 | INFO | ult-dispatcher-2 | rovider$RemoteDeadLetterActorRef | 225 - com.typesafe.akka.slf4j - 2.3.4 | Message [org.opendaylight.controller.cluster.datastore.messages.DataChangedReply] from Actorakka://opendaylight-cluster-data/user/$b#-308772478 to Actor[akka://opendaylight-cluster-data/deadLetters] was not delivered. [8] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
2014-09-18 17:35:46,254 | INFO | lt-dispatcher-28 | rovider$RemoteDeadLetterActorRef | 225 - com.typesafe.akka.slf4j - 2.3.4 | Message [org.opendaylight.controller.cluster.datastore.messages.DataChangedReply] from Actorakka://opendaylight-cluster-data/user/$a#-1271712734 to Actor[akka://opendaylight-cluster-data/deadLetters] was not delivered. [9] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
2014-09-18 17:35:46,257 | INFO | lt-dispatcher-33 | rovider$RemoteDeadLetterActorRef | 225 - com.typesafe.akka.slf4j - 2.3.4 | Message [org.opendaylight.controller.cluster.datastore.messages.DataChangedReply] from Actorakka://opendaylight-cluster-data/user/$b#-308772478 to Actor[akka://opendaylight-cluster-data/deadLetters] was not delivered. [10] dead letters encountered, no more dead letters will be logged. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.



 Comments   
Comment by Tom Pantelis [ 13/Oct/14 ]

The DataChangedListernerProxy specifies a null sender but unit tests rely on the DataChangedReply. The DataChangedListerner actor does check if getSender() != null before sending the reply however getSender() is never null. If null or ActorRef.noSender() (which returns null) is passed by the caller, akka translates it to the deadLetters actor ref. The solution is to check if getSender() is not equal to system().deadLetters().

Comment by Tom Pantelis [ 13/Oct/14 ]

Submitted https://git.opendaylight.org/gerrit/#/c/11932/

Generated at Wed Feb 07 21:51:38 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.