please also note the errors at step 7 dont start immediately, but after a minute or so (as seen in the logs)
- markus Le lundi 24 février 2014 16:50:49 UTC+1, Eniot Nacram a écrit : > > Hi all > > I'm using akka 2.2.3 in a game prototype where a player can remotely > connect to an existing world. > I'm having trouble properly managing the sudden deconnection of players. > The following happens: > 1) The world (an actor) is started > 2) A player (an actor) looks up the world remotely and they start > exchanging messages > 3) Everything is fine > 4) The player actor dies > 5) Some actors on the world side keep trying to send messages to the > player side, hence some errors happen on the world side. > 6) The deathwatch on the world side realizes the player is dead and the > world discards the dead player (ie: no more messages sent to him or > expected from him) > 7) A continous flow of EndpointAssociationException happens in the world > logs. > > I would very much like to know: > 1) how / where to handle the errors happening at step 5 > 2) correctly handle and stop the continous flow of errors happening at > step 7 > Thanks in advance for any tips or pointers. > > Here's a log of this case (lines starting and ending with "---" are my > application's logs edited for clarity) > > [INFO] [02/24/2014 16:13:21.414] [Main-akka.actor.default-dispatcher-3] > [Remoting] Starting remoting > [INFO] [02/24/2014 16:13:21.554] [Main-akka.actor.default-dispatcher-3] > [Remoting] Remoting started; listening on addresses :[akka.tcp:// > [email protected]:25852] > > --- here the player actor joins the world --- > --- here everything is fine --- > --- here the player actor is killed --- > > [INFO] [02/24/2014 16:13:34.924] > [plesio-system-akka.actor.default-dispatcher-3] > [akka://plesio-system/system/transports/akkaprotocolmanager.tcp0/akkaProtocol-tcp%3A%2F%2Fplesio-system%40127.0.0.1%3A56227-1] > > Message [akka.remote.transport.AssociationHandle$Disassociated] from > Actor[akka://plesio-system/deadLetters] to > Actor[akka://plesio-system/system/transports/akkaprotocolmanager.tcp0/akkaProtocol-tcp%3A%2F%2Fplesio-system%40127.0.0.1%3A56227-1#841387870] > > 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] [02/24/2014 16:13:34.933] > [plesio-system-akka.actor.default-dispatcher-5] > [akka://plesio-system/system/transports/akkaprotocolmanager.tcp0/akkaProtocol-tcp%3A%2F%2Fplesio-system%40127.0.0.1%3A56227-1] > > Message > [akka.remote.transport.ActorTransportAdapter$DisassociateUnderlying] from > Actor[akka://plesio-system/deadLetters] to > Actor[akka://plesio-system/system/transports/akkaprotocolmanager.tcp0/akkaProtocol-tcp%3A%2F%2Fplesio-system%40127.0.0.1%3A56227-1#841387870] > > 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'. > [ERROR] [02/24/2014 16:13:35.952] > [plesio-system-akka.actor.default-dispatcher-20] > [akka://plesio-system/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2Fthinclient%40127.0.0.1%3A25853-0/endpointWriter] > > AssociationError [akka.tcp://[email protected]:25852] -> > [akka.tcp://[email protected]:25853]: Error [Association failed with > [akka.tcp://[email protected]:25853]] [ > akka.remote.EndpointAssociationException: Association failed with > [akka.tcp://[email protected]:25853] > Caused by: > akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: > Connection refused: no further information: /127.0.0.1:25853 > ] > [ERROR] [02/24/2014 16:13:36.958] > [plesio-system-akka.actor.default-dispatcher-18] > [akka://plesio-system/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2Fthinclient%40127.0.0.1%3A25853-0/endpointWriter] > > AssociationError [akka.tcp://[email protected]:25852] -> > [akka.tcp://[email protected]:25853]: Error [Association failed with > [akka.tcp://[email protected]:25853]] [ > akka.remote.EndpointAssociationException: Association failed with > [akka.tcp://[email protected]:25853] > Caused by: > akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: > Connection refused: no further information: /127.0.0.1:25853 > ] > [ERROR] [02/24/2014 16:13:37.965] > [plesio-system-akka.actor.default-dispatcher-20] > [akka://plesio-system/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2Fthinclient%40127.0.0.1%3A25853-0/endpointWriter] > > AssociationError [akka.tcp://[email protected]:25852] -> > [akka.tcp://[email protected]:25853]: Error [Association failed with > [akka.tcp://[email protected]:25853]] [ > akka.remote.EndpointAssociationException: Association failed with > [akka.tcp://[email protected]:25853] > Caused by: > akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: > Connection refused: no further information: /127.0.0.1:25853 > ] > [INFO] [02/24/2014 16:13:37.970] > [plesio-system-akka.actor.default-dispatcher-20] > [akka://plesio-system/deadLetters] Message [engine.Ticker$Tick] from > Actor[akka://plesio-system/user/director/ticker#-1791557503] to > Actor[akka://plesio-system/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] [02/24/2014 16:13:37.970] > [plesio-system-akka.actor.default-dispatcher-20] > [akka://plesio-system/deadLetters] Message [engine.World$SunAngle] from > Actor[akka://plesio-system/user/director/world#815835863] to > Actor[akka://plesio-system/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] [02/24/2014 16:13:37.970] > [plesio-system-akka.actor.default-dispatcher-20] > [akka://plesio-system/deadLetters] Message [engine.entity.Player$LookingAt] > from Actor[akka://plesio-system/user/director/world#815835863] to > Actor[akka://plesio-system/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'. > [INFO] [02/24/2014 16:13:37.970] > [plesio-system-akka.actor.default-dispatcher-20] > [akka://plesio-system/deadLetters] Message [engine.Ticker$Tick] from > Actor[akka://plesio-system/user/director/ticker#-1791557503] to > Actor[akka://plesio-system/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'. > [INFO] [02/24/2014 16:13:37.970] > [plesio-system-akka.actor.default-dispatcher-20] > [akka://plesio-system/deadLetters] Message [engine.World$SunAngle] from > Actor[akka://plesio-system/user/director/world#815835863] to > Actor[akka://plesio-system/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'. > [INFO] [02/24/2014 16:13:37.971] > [plesio-system-akka.actor.default-dispatcher-20] > [akka://plesio-system/deadLetters] Message [engine.entity.Player$LookingAt] > from Actor[akka://plesio-system/user/director/world#815835863] to > Actor[akka://plesio-system/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'. > [INFO] [02/24/2014 16:13:37.971] > [plesio-system-akka.actor.default-dispatcher-20] > [akka://plesio-system/deadLetters] Message [engine.Ticker$Tick] from > Actor[akka://plesio-system/user/director/ticker#-1791557503] to > Actor[akka://plesio-system/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'. > [INFO] [02/24/2014 16:13:37.971] > [plesio-system-akka.actor.default-dispatcher-20] > [akka://plesio-system/deadLetters] Message [engine.entity.Player$LookingAt] > from Actor[akka://plesio-system/user/director/world#815835863] to > Actor[akka://plesio-system/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'. > [ERROR] [02/24/2014 16:13:39.015] > [plesio-system-akka.actor.default-dispatcher-19] > [akka://plesio-system/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2Fthinclient%40127.0.0.1%3A25853-0/endpointWriter] > > AssociationError [akka.tcp://[email protected]:25852] -> > [akka.tcp://[email protected]:25853]: Error [Association failed with > [akka.tcp://[email protected]:25853]] [ > akka.remote.EndpointAssociationException: Association failed with > [akka.tcp://[email protected]:25853] > Caused by: > akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: > Connection refused: no further information: /127.0.0.1:25853 > ] > [ERROR] [02/24/2014 16:13:40.026] > [plesio-system-akka.actor.default-dispatcher-2] > [akka://plesio-system/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2Fthinclient%40127.0.0.1%3A25853-0/endpointWriter] > > AssociationError [akka.tcp://[email protected]:25852] -> > [akka.tcp://[email protected]:25853]: Error [Association failed with > [akka.tcp://[email protected]:25853]] [ > akka.remote.EndpointAssociationException: Association failed with > [akka.tcp://[email protected]:25853] > Caused by: > akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: > Connection refused: no further information: /127.0.0.1:25853 > ] > [WARN] [02/24/2014 16:13:40.577] > [plesio-system-akka.actor.default-dispatcher-18] > [akka://plesio-system/system/remote-watcher] Detected unreachable: > [akka.tcp://[email protected]:25853] > [INFO] [02/24/2014 16:13:40.578] > [plesio-system-akka.actor.default-dispatcher-3] [Remoting] Address > [akka.tcp://[email protected]:25853] is now quarantined, all messages > to this address will be delivered to dead letters. > > --- here the DeathWatch realized the remote actor (player) is dead and is > removed from the world --- > > [ERROR] [02/24/2014 16:14:41.617] > [plesio-system-akka.actor.default-dispatcher-15] > [akka://plesio-system/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2Fthinclient%40127.0.0.1%3A25853-1/endpointWriter] > > AssociationError [akka.tcp://[email protected]:25852] -> > [akka.tcp://[email protected]:25853]: Error [Association failed with > [akka.tcp://[email protected]:25853]] [ > akka.remote.EndpointAssociationException: Association failed with > [akka.tcp://[email protected]:25853] > Caused by: > akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: > Connection refused: no further information: /127.0.0.1:25853 > ] > [ERROR] [02/24/2014 16:14:42.621] > [plesio-system-akka.actor.default-dispatcher-14] > [akka://plesio-system/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2Fthinclient%40127.0.0.1%3A25853-1/endpointWriter] > > AssociationError [akka.tcp://[email protected]:25852] -> > [akka.tcp://[email protected]:25853]: Error [Association failed with > [akka.tcp://[email protected]:25853]] [ > akka.remote.EndpointAssociationException: Association failed with > [akka.tcp://[email protected]:25853] > Caused by: > akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: > Connection refused: no further information: /127.0.0.1:25853 > ] > > --- errors like the last 2 keep flowing endlessly, with a different > dispatcher id --- > -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: http://akka.io/faq/ >>>>>>>>>> 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/groups/opt_out.
