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