Hi all,
I have problems with Akka in case of errors, namely: Ask time out. I
suppose that the system should stop processing and restart itself when
error happens. I have supervisor actor with following supervision strategy:
private static SupervisorStrategy strategy =
new OneForOneStrategy(5, Duration.create("1 minute"), DeciderBuilder.
match(NullPointerException.class, e ->
SupervisorStrategy.escalate()).
matchAny(o -> SupervisorStrategy.restart()).build());
@Override
public SupervisorStrategy supervisorStrategy() {
return strategy;
}
All other actors are child ones. In case of ask time out exception I see
following:
[ERROR] [09/12/2015 19:19:56.291]
[application-akka.actor.default-dispatcher-6]
[akka://application/user/localProcessor/$b/$b/$b/$a] Path models
aggregation failed with following message: Ask timed out on
[Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449]]
after [20000 ms]
[ERROR] [09/12/2015 19:19:56.294]
[application-akka.actor.default-dispatcher-6]
[akka://application/user/localProcessor/$b/$b] GtObject processing failed.
Message: Ask timed out on
[Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449]]
after [20000 ms]
[INFO] [09/12/2015 19:19:56.565]
[application-akka.actor.default-dispatcher-10]
[akka://application/deadLetters] Message
[kernel.modeller.data.messages.SubPathProcessingResponse] from
Actor[akka://application/deadLetters] to
Actor[akka://application/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'.
[INFO] [09/12/2015 19:19:56.565]
[application-akka.actor.default-dispatcher-10]
[akka://application/deadLetters] Message
[kernel.modeller.data.messages.SubPathProcessingResponse] from
Actor[akka://application/deadLetters] to
Actor[akka://application/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'.
[INFO] [09/12/2015 19:19:56.565]
[application-akka.actor.default-dispatcher-10]
[akka://application/deadLetters] Message
[kernel.modeller.data.messages.SubPathProcessingResponse] from
Actor[akka://application/deadLetters] to
Actor[akka://application/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'.
[INFO] [09/12/2015 19:19:56.565]
[application-akka.actor.default-dispatcher-10]
[akka://application/deadLetters] Message
[kernel.modeller.data.messages.SubPathProcessingResponse] from
Actor[akka://application/deadLetters] to
Actor[akka://application/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'.
[INFO] [09/12/2015 19:19:56.935]
[application-akka.actor.default-dispatcher-11]
[akka://application/user/localProcessor/$b/$b/$b/$a/$a] Message
[kernel.modeller.data.messages.SubPathProcessingRequest] from
Actor[akka://application/temp/$a] to
Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449] 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'.
[INFO] [09/12/2015 19:19:56.935]
[application-akka.actor.default-dispatcher-11]
[akka://application/user/localProcessor/$b/$b/$b/$a/$a] Message
[kernel.modeller.data.messages.SubPathProcessingRequest] from
Actor[akka://application/temp/$b] to
Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449] 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'.
[INFO] [09/12/2015 19:19:56.935]
[application-akka.actor.default-dispatcher-11]
[akka://application/user/localProcessor/$b/$b/$b/$a/$a] Message
[kernel.modeller.data.messages.SubPathProcessingRequest] from
Actor[akka://application/temp/$c] to
Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449] 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'.
[INFO] [09/12/2015 19:19:56.935]
[application-akka.actor.default-dispatcher-11]
[akka://application/user/localProcessor/$b/$b/$b/$a/$a] Message
[kernel.modeller.data.messages.SubPathProcessingRequest] from
Actor[akka://application/temp/$d] to
Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449] 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'.
[INFO] [09/12/2015 19:19:56.935]
[application-akka.actor.default-dispatcher-11]
[akka://application/user/localProcessor/$b/$b/$b/$a/$a] Message
[kernel.modeller.data.messages.SubPathProcessingRequest] from
Actor[akka://application/temp/$e] to
Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449] 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'.
[INFO] [09/12/2015 19:19:56.935]
[application-akka.actor.default-dispatcher-11]
[akka://application/user/localProcessor/$b/$b/$b/$a/$a] Message
[kernel.modeller.data.messages.SubPathProcessingRequest] from
Actor[akka://application/temp/$f] to
Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449] 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'.
[error] p.c.s.n.PlayDefaultUpstreamHandler - Cannot invoke the action
akka.pattern.AskTimeoutException: Ask timed out on
[Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449]]
after [20000 ms]
at
akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:334)
~[akka-actor_2.10-2.3.11.jar:na]
at akka.actor.Scheduler$$anon$7.run(Scheduler.scala:117)
~[akka-actor_2.10-2.3.11.jar:na]
at
scala.concurrent.Future$InternalCallbackExecutor$.scala$concurrent$Future$InternalCallbackExecutor$$unbatchedExecute(Future.scala:694)
~[scala-library.jar:na]
at
scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:691)
~[scala-library.jar:na]
at
akka.actor.LightArrayRevolverScheduler$TaskHolder.executeTask(Scheduler.scala:467)
~[akka-actor_2.10-2.3.11.jar:na]
at
akka.actor.LightArrayRevolverScheduler$$anon$8.executeBucket$1(Scheduler.scala:419)
~[akka-actor_2.10-2.3.11.jar:na]
at
akka.actor.LightArrayRevolverScheduler$$anon$8.nextTick(Scheduler.scala:423)
~[akka-actor_2.10-2.3.11.jar:na]
at akka.actor.LightArrayRevolverScheduler$$anon$8.run(Scheduler.scala:375)
~[akka-actor_2.10-2.3.11.jar:na]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_25]
[error] application -
! @6ne4ibfh0 - Internal server error, for (POST) [/process_object] ->
play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution
exception[[AskTimeoutException: Ask timed out on
[Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449]]
after [20000 ms]]]
at
play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:265)
~[play_2.10-2.4.1.jar:2.4.1]
at
play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:191)
~[play_2.10-2.4.1.jar:2.4.1]
at play.api.GlobalSettings$class.onError(GlobalSettings.scala:179)
[play_2.10-2.4.1.jar:2.4.1]
at
play.core.j.JavaGlobalSettingsAdapter.play$core$j$JavaGlobalSettingsAdapter$$super$onError(JavaGlobalSettingsAdapter.scala:36)
[play_2.10-2.4.1.jar:2.4.1]
at
play.core.j.JavaGlobalSettingsAdapter$$anonfun$onError$2.apply(JavaGlobalSettingsAdapter.scala:36)
[play_2.10-2.4.1.jar:2.4.1]
at
play.core.j.JavaGlobalSettingsAdapter$$anonfun$onError$2.apply(JavaGlobalSettingsAdapter.scala:36)
[play_2.10-2.4.1.jar:2.4.1]
at scala.Option.getOrElse(Option.scala:120) [scala-library.jar:na]
at
play.core.j.JavaGlobalSettingsAdapter.onError(JavaGlobalSettingsAdapter.scala:36)
[play_2.10-2.4.1.jar:2.4.1]
at
play.api.http.GlobalSettingsHttpErrorHandler.onServerError(HttpErrorHandler.scala:94)
[play_2.10-2.4.1.jar:2.4.1]
at
play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:273)
[play-netty-server_2.10-2.4.1.jar:2.4.1]
Caused by: akka.pattern.AskTimeoutException: Ask timed out on
[Actor[akka://application/user/localProcessor/$b/$b/$b/$a/$a#447300449]]
after [20000 ms]
at
akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:334)
~[akka-actor_2.10-2.3.11.jar:na]
at akka.actor.Scheduler$$anon$7.run(Scheduler.scala:117)
~[akka-actor_2.10-2.3.11.jar:na]
at
scala.concurrent.Future$InternalCallbackExecutor$.scala$concurrent$Future$InternalCallbackExecutor$$unbatchedExecute(Future.scala:694)
~[scala-library.jar:na]
at
scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:691)
~[scala-library.jar:na]
at
akka.actor.LightArrayRevolverScheduler$TaskHolder.executeTask(Scheduler.scala:467)
~[akka-actor_2.10-2.3.11.jar:na]
at
akka.actor.LightArrayRevolverScheduler$$anon$8.executeBucket$1(Scheduler.scala:419)
~[akka-actor_2.10-2.3.11.jar:na]
at
akka.actor.LightArrayRevolverScheduler$$anon$8.nextTick(Scheduler.scala:423)
~[akka-actor_2.10-2.3.11.jar:na]
at akka.actor.LightArrayRevolverScheduler$$anon$8.run(Scheduler.scala:375)
~[akka-actor_2.10-2.3.11.jar:na]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_25]
[ERROR] [09/12/2015 19:20:05.616]
[application-akka.actor.default-dispatcher-4]
[akka://application/user/localProcessor/$b/$b/$b/$c] Path models
aggregation failed with following message: Ask timed out on
[Actor[akka://application/user/localProcessor/$b/$b/$b/$c/$b/$a#-544216733]]
after [10001 ms]
[ERROR] [09/12/2015 19:20:05.781]
[application-akka.actor.default-dispatcher-7]
[akka://application/user/localProcessor/$b/$b/$b/$b] Path models
aggregation failed with following message: Ask timed out on
[Actor[akka://application/user/localProcessor/$b/$b/$b/$b/$b/$a#1422205827]]
after [10001 ms]
In this case I see that REST response was send, but system is continue
working. Java process loads processor on 75% and memory remains allocated.
There is no infinite loops and blocking in the program (I have double
checked). Could you please help me to solve this problem? I want my program
to continue working correctly after such errors (it should stop processing
of current request, free resources and be able to process another requests).
Thank you!
Best regards,
Sergey
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ:
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.