-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not unregister the callback in the zk watcher #138
Conversation
also #134 |
For some more context, we do have to call get/stat/exists with :watch => true to reset the watch, but we don't have to unsubscribe and re-subscribe. The zk-ruby documentation is a bit vague. |
I did some testing where an outside actor removes the path that is registered, and we actually didn't properly exit because the callback lives in a thread (which swallows the exception). A simple zk_cleanup suffices.
|
Do not unregister the callback in the zk watcher
@igor47 I'm going to start testing master in our testing environments this week, should be on production by the end of the week. I'll ask you to cut a new version once I figure out if it all works? |
sgtm, i’m going to start testing this version in our infra as well On Mon, Sep 7, 2015 at 1:10 PM, Joseph Lynch [email protected]
|
@igor47 Things seem to be working well on production for us. Mind cutting a release? |
Addresses incompatibility of per_callback threading in ZK, the way that
synapse calls unsubscribe within the callback, and ruby 2.X really not
liking joining on the current running thread.
Should fix #137 #99 and possibly #94
I've tested this manually and events seem to get propagated ... I'd like to roll this out to a small portion of our infrastructure and see how it behaves.