GitHub user timothyjward opened a pull request: https://github.com/apache/zookeeper/pull/529
[ZOOKEEPER-2368] Send a watch event is when a client is closed Currently, if the client is closed (rather than being remotely disconnected) there is no notification to the watcher. This means that asynchronous clients can end up waiting indefinitely for events that will never come. Watchers need to be aware that the client is closed for good. Signed-off-by: Tim Ward <timothyjw...@apache.org> Note that this is a variation on a patch I produced some time ago, which was broadly accepted as a good idea, and didn't cause any problems for Curator, but was deemed by some to be too risky because it reused an existing KeeperState. This patch is therefore updated to use a new `Closed` KeeperState. Fixing this would allow me to avoid maintaining a separate fork of Zookeeper just to support this one feature! You can merge this pull request into a Git repository by running: $ git pull https://github.com/timothyjward/zookeeper ZOOKEEPER-2368 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zookeeper/pull/529.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #529 ---- commit 3b76aeaefac2711ba3f9b85c69d6049f0da6ab3f Author: Tim Ward <timothyjward@...> Date: 2015-12-02T17:34:22Z [ZOOKEEPER-2368] Send a watch event is when a client is closed Currently, if the client is closed (rather than being remotely disconnected) there is no notification to the watcher. This means that asynchronous clients can end up waiting indefinitely for events that will never come. Watchers need to be aware that the client is closed for good. Signed-off-by: Tim Ward <timothyjw...@apache.org> ---- ---