Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-2586

zoo_aremove_watchers() does not remove a watch of path has more than one watch

    XMLWordPrintableJSON

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

          Activity

            People

              Unassigned Unassigned
              prashantkumardhotre prashant
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: