Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-15803

ZooKeeperWatcher's constructor can leak a ZooKeeper instance with throwing ZooKeeperConnectionException when canCreateBaseZNode is true

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 1.4.0, 0.98.20, 2.0.0
    • None
    • None
    • Reviewed

    Description

        public ZooKeeperWatcher(Configuration conf, String identifier,
            Abortable abortable, boolean canCreateBaseZNode)
        throws IOException, ZooKeeperConnectionException {
      ...skip...
          this.recoverableZooKeeper = ZKUtil.connect(...
      ...skip...
          if (canCreateBaseZNode) {
            createBaseZNodes();
          }
        }
      
        private void createBaseZNodes() throws ZooKeeperConnectionException {
      

      The registered watcher doesn't seem to close the Zookeeper instance by watch events, and the instance keeps alive when createBaseZNodes is failed.

      Attachments

        1. 15803.v1.txt
          1.0 kB
          Ted Yu
        2. 15803.v2.txt
          1 kB
          Ted Yu

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            yuzhihong@gmail.com Ted Yu
            ikeda Hiroshi Ikeda
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment