Any help on this is greatly appreciated. otherwise we need to roll back to Scala 2.10 (or 2.9) and an older version of Akka.
--
Thanks,
Robert
>>>>>>>>>> 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+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.
--
>>>>>>>>>> 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+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.
Hi Robert,
as you mentioned and from the logs you provided its seems that messages are flowing from node{1,2} to node3 after restart, but not to the other direction.Would it be possible that your application tries to send messages from node3 to node{1,2} using ActorRefs which were resolved before the restart of node{1,2}? ActorRef includes actor UID which changes after Actor is stopped and started again, which happens upon node restart. Here is a quick example code that illustrates that situation.
If so, you should send messages using ActorSelection or re-resolve ActorRefs after node restart or periodically.
On Fri, Nov 7, 2014 at 3:58 AM, Robert Preissl <rob...@ticketfly.com> wrote:
Hello Endre,
First of all, thanks for replying so quickly!
Second, I need to mention that we use Akka remoting. and not Akka clustering (yet). not sure if this makes a difference.
What I mean that in our restart scenario (where first node1 and node2 are simultaneously restarted. and then node3) when node1 and node2 are coming back up, it seems that the connection node1 -> node3 works fine. but the connection node3 -> node1 does not.
So, to answer your question, yes, it seems we loose messages from node3.
I attached more detail logs below. (and please excuse the many log lines; i tried to clean it up as much as possible)
what is interesting to see is this line:
processing Event(Disassociated [akka.tcp://DivaPCluster@10.57.0.43:8900] -> [akka.tcp://DivaPCluster@10.57.0.41:8900]
Hello Martynas,
This test is already the simplest scenario we can come up with. It comes from a cluster simulation test framework we have developed to simulate our business needs.
If we find the time we can write a simple ping-pong test. but not sure if this is possible. is there any more logging we can try? or changing parameters? (however, i already tried changing the "heartbeat-interval", etc.)
Are there any plans to make this more robust in Akka 2.3.7? i fear we need to revert back to older Akka versions.
and, can it be that we experience similar issues as reported in this ticket?
https://github.com/akka/akka/issues/13860
Thanks,
Robert
processing Event(Disassociated [akka.tcp://DivaPC...@10.57.0.43:8900] -> [akka.tcp://DivaPC...@10.57.0.41:8900]
Hi Jim,The UID in question is the UID of the remote actor system that is trying to connect in to this actor system. It will only be changed on a complete restart of the actor system.
Which branch did you build exactly? The latest stable bugfix branch is release-2.3.
Also which of the machines in you failure scenario is running the XXX code path?
You received this message because you are subscribed to a topic in the Google Groups "Akka User List" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/akka-user/i_fWDe8GN0I/unsubscribe.
To unsubscribe from this group and all its topics, send an email to akka-user+...@googlegroups.com.
On 8 December 2014 at 22:23:29, Jim Washburn (wash...@ticketfly.com) wrote:
JimHi again,I ran more experiments, and now have seen a scenario where we execute the XXX code path, yet don't have a problem with node to node remoting. So my hypothesis regarding this code path being correlated with our issue, must have been incorrect. Sorry for the false alarm. Back to square one...
On Mon, Dec 8, 2014 at 9:18 AM, Jim Washburn <wash...@ticketfly.com> wrote:
Hi Björn,Thanks for getting back to us!
On Mon, Dec 8, 2014 at 6:11 AM, Björn Antonsson <bjorn.a...@typesafe.com> wrote:
Hi Jim,The UID in question is the UID of the remote actor system that is trying to connect in to this actor system. It will only be changed on a complete restart of the actor system.Just to make sure we are using the same terminology,
referring to the "Actor LifeCycle" diagram in- a restart of an actor, creating a new "instance", will *not* change the UID- a Stop or PoisonPill of an actor, followed by an ActorOf(), resulting in a new actor "incarnation",*will* change the UID
Those two scenarios are separate in my mind from a restart of the entire actor system. Is this is accord with your view?
If so, in order to avoid the XXX code path, by making the UID equality false, we could consider creating a new incarnation of the actor on the remote system. Since this happens to be an important actor in our app (Paxos leader), we would have to consider all the repercussions of doing that.
The other alternative in terms of making the UID equality false would be to avoid having the local actor system having the remote system's UID stored in its endpoint database. At this point I do not know enough about the remoting to understand why it has this UID stored in the first place, given that the whole JVM was restarted.Which branch did you build exactly? The latest stable bugfix branch is release-2.3.From github, for akka, when I do a 'git log', the version I have is
commit 1312ca61396d2f4e4bb38318bca333e6ec6b62d8
Merge: a570872 6e6f92f
Author: Martynas Mickevičius <mmar...@gmail.com>
Date: Fri Nov 14 10:22:14 2014 +0200
from AkkaBuild.scala,
version := "2.3-SNAPSHOT",
Hope that works as a means of letting you know what I am running. When I did a git clone from github,
that is what I got.
processing Event(Disassociated [akka.tcp://DivaPCluster@10.57.0.43:8900] -> [akka.tcp://DivaPCluster@10.57.0.41:8900]