Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
three issues
1)zoo_aremove_watchers() does not remove a watch if path has more than one watch.
but it works in below cases.
it removes watch if path has only one watch.
and it removes all watches if watcher function arguments is NULL.
Seen in
zookeeper.version=3.5.1-alpha--1, built on 06/09/2016 18:31 GMT
Not sure if this is fixed in later versions.
2) If zoo_aremove_watchers() is called with local=1, then client hangs in waiting for mutex in mt_adaptor.c:102
void notify_sync_completion(struct sync_completion *sc)
{
pthread_mutex_lock(&sc->lock);
...
3) Acts like sync API if no node and no watcher on path.
it does not call async completion callback in this case.
Attachments
Issue Links
- relates to
-
ZOOKEEPER-1910 RemoveWatches wrongly removes the watcher if multiple watches exists on a path
- Resolved