How to understand logging dead letter akka

Viewed 140

I am getting dead letter actor in logs. And the logging is of level INFO. But I am not getting which method from sActor is giving dead letter. Following is the log message

 akka.actor.DeadLetterActorRef - Message [scala.util.Right] from Actor[akka://marksun-app/user/marksun-api/sActor/$a#-396914220] to Actor[akka://marksun-app/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'.

I want to know what is `

$a#-396914220

`

1 Answers

The $a#-396914220 is the actor's name ($a) and the actor was spawned as a child of an actor named sActor. The 396914220 is the unique ID of the cell in which the actor runs.

No stacktrace or other information is captured when sending a message, so it's not possible to know from where in sActor the message is being sent.

If you're not explicitly spawning an actor in sActor to send a message, the two most likely culprits are using the "ask" pattern (which will spawn a temporary actor) or possibly running a stream (which will spawn actors to materialize the stream).

Related