All,

I am facing a very confusing issue between two systems, and i came to a 
conclusion that may be someone could confirm (or not).
I am running Akka 2.5.3 in Java, the context is a CI build running 
integration tests.
I have 2 systems: A (=QA system) and B (=CI system). B knows A through dns 
and B uses IP address for identification.
The flow is : A is started, then B tries to resolve an actor through 
ActorSelection to A. When A and B are running on the same host, all runs 
fine.
The issue is when A and B are on different hosts. A is behind a firewall 
with only the relevant port opened. I am not 100% sure of the firewall 
settings on host B.
On the first run, all is fine and ActorSelection returns the ActorRef, but 
on the second run ActorSelection fails in timeout and I get the below 
exception on host A, while no other exception is visible in host B.

What I am thinking is that when B is restarted, A considers it as a 
"reconnection" differently then during first run "connection" and might 
follow different path. Even if the System internal Id is different.
In this "reconnection" use case, it looks like there might be a connection 
attempt A -> B while in the first "connection" only B -> A happens.
This would explain why when running on the same host all runs fine. If my 
thinking is correct, then i would have to investigate the firewall rules on 
host B, which is beyond my control and i would need this confirmation 
before going further.

[DEBUG] [2017-07-19 17:22:16,317] [17:22:16.317UTC] [SystemA] 
[akka.tcp://SystemA@hostA:2550/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FSystemB%40172.17.0.3%3A2557-3/endpointWriter]
 
[SystemA-akka.remote.default-remote-dispatcher-90] [] 
akka.remote.EndpointWriter - AssociationError 
[akka.tcp://SystemA@hostA:2550] -> [akka.tcp://SystemB@172.17.0.3:2557]: 
Error [Association failed with [akka.tcp://SystemB@172.17.0.3:2557]] [
akka.remote.EndpointAssociationException: Association failed with 
[akka.tcp://Bl@172.17.0.3:2557]
Caused by: java.util.concurrent.TimeoutException: No response from remote 
for outbound association. Associate timed out after [15000 ms].
at 
akka.remote.transport.ProtocolStateActor$$anonfun$2.applyOrElse(AkkaProtocolTransport.scala:366)
at 
akka.remote.transport.ProtocolStateActor$$anonfun$2.applyOrElse(AkkaProtocolTransport.scala:340)
at 
scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:34)
at akka.actor.FSM.processEvent(FSM.scala:663)
at akka.actor.FSM.processEvent$(FSM.scala:660)
at 
akka.remote.transport.ProtocolStateActor.processEvent(AkkaProtocolTransport.scala:285)
at akka.actor.FSM.akka$actor$FSM$$processMsg(FSM.scala:657)
at akka.actor.FSM$$anonfun$receive$1.applyOrElse(FSM.scala:629)
at akka.actor.Actor.aroundReceive(Actor.scala:513)
at akka.actor.Actor.aroundReceive$(Actor.scala:511)
at 
akka.remote.transport.ProtocolStateActor.aroundReceive(AkkaProtocolTransport.scala:285)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:527)
at akka.actor.ActorCell.invoke(ActorCell.scala:496)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
at akka.dispatch.Mailbox.run(Mailbox.scala:224)
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at 
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at 
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
]
[INFO ] [2017-07-19 17:22:16,318] [17:22:16.317UTC] [SystemA] 
[akka.tcp://SystemA@hostA:2550/system/transports/akkaprotocolmanager.tcp0/akkaProtocol-tcp%3A%2F%2FSystemB%40172.17.0.3%3A2557-4]
 
[SystemA-akka.remote.default-remote-dispatcher-75] [] 
akka.remote.transport.ProtocolStateActor - No response from remote for 
outbound association. Associate timed out after [15000 ms].
[WARN ] [2017-07-19 17:22:16,318] [17:22:16.318UTC] [SystemA] 
[akka.tcp://SystemA@hostA:2550/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FSystemB%40172.17.0.3%3A2557-3]
 
[SystemA-akka.remote.default-remote-dispatcher-90] [] 
akka.remote.ReliableDeliverySupervisor - Association with remote system 
[akka.tcp://SystemB@172.17.0.3:2557] has failed, address is now gated for 
[5000] ms. Reason: [Association failed with 
[akka.tcp://SystemB@172.17.0.3:2557]] Caused by: [No response from remote 
for outbound association. Associate timed out after [15000 ms].]
[DEBUG] [2017-07-19 17:22:16,318] [17:22:16.318UTC] [SystemA] 
[akka://SystemA/system/transports/akkaprotocolmanager.tcp0/akkaProtocol-tcp%3A%2F%2FSystemB%40172.17.0.3%3A2557-4]
 
[SystemA-akka.remote.default-remote-dispatcher-75] [] 
akka.remote.transport.ProtocolStateActor - stopped

Any help or experience would be hugely appreciated
Thanks !
Olivier

-- 
>>>>>>>>>>      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 akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to