2014-01-16 3 views
1

Я завершил первое назначение Akka для класса реактивного программирования Coursera (пятая неделя - бинарные деревья).Akka Terminate Dead Letters

Мой вопрос касается собственно Akka.

Мое приложение работает правильно, но я замечаю много нефатальных предупреждений о мертвой букве. Вот один:

[INFO] [01/16/2014 15:09:41.668] [PostponeSpec-akka.actor.default-dispatcher-23] [akka://PostponeSpec/user/$c/$b/$a/$b/$a/$a/$b/$b/$a/$a] Message [akka.dispatch.sysmsg.Terminate] from Actor[akka://PostponeSpec/user/$c/$b/$a/$b/$a/$a/$b/$b/$a/$a#570299303] to Actor[akka://PostponeSpec/user/$c/$b/$a/$b/$a/$a/$b/$b/$a/$a#570299303] 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'. 

Я заметил, другие спрашивали об этом, и официальный ответ, что это не проблема, это просто многословным информация, которая может быть проигнорировано и скрыты путем обновления параметров протоколирования.

Я понимаю совет, чтобы просто проигнорировать это, но он по-прежнему кажется небрежным изъяном на стороне Акки. В этом простом учебном упражнении я уверен, что мои актеры никогда не получат сообщение после того, как они инициируют изящное закрытие. Акка не должна класть ничего в очередь мертвых букв в этих идеализированных обстоятельствах. Каково оправдание этих мертвых букв? Я также вижу, что сообщение с мертвой буквой не является тем, что мое приложение явно отправляет, а внутренним сообщением.

+0

Это похоже на обмен между актерами TestKit со мной - так что это не сообщение «внутреннее Акка». –

+1

Чтобы сделать этот вопрос более ясным, вы могли бы изменить название на нечто менее общее? Спасибо;) –

+0

Трудно сказать, почему это происходит без кода, показывающего, что вы делаете. Это должно проливать больше света на то, почему вы видите мертвые буквы. – cmbaxter

ответ

1

Как и кто-то, кто тоже прошел курс, и задал вопросы в фиде курса, я вспоминаю следующее: ребенок-актер может решить остановиться, но его родитель может решить сделать то же самое. На данный момент существует условие неотъемлемой гонки между окончанием родителя и доставкой сообщения о завершении (дочернем), если родительу удалось остановить себя до получения сообщения, оно закончится в очереди с мертвыми буквами.

Смежные вопросы