On Wed, Mar 11, 2015 at 3:28 PM, Gary Tully <gary.tu...@gmail.com> wrote:
> I think you are correct here. The rebuild should work so long as the
> session has not expired.

The nodes in the zookeeper group tree are ephemeral, so they
disappear once the session is lost.  I think the underlying client
manages to re-establish a session, but by that point the nodes
are lost and have to be re-created (meaning the sequence numbers
are incremented, so the eid is effectively renamed).

What I was seeing was the tree was still populated with the old
nodes.  Forcing the rebuild appears to let the rest of the code get
everything back into the right state, and master elections can
resume.

I was hoping the original author might chime in on the problem,
but unfortunately I didn't get any response when I pinged him
in email.  I haven't done a bunch of programming against
zookeeper and have done even less in Scala, so I'm not sure
whether or not there are cleaner, more correct, approaches to
fixing the problem.

In any case, I've updated AMQ-5082 with my comments and
with the pointers to the proposed code.

Jim

Reply via email to