Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-107 Allow dynamic changes to server cluster membership
  3. ZOOKEEPER-762

Allow dynamic addition/removal of server nodes in the client API

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Minor
    • Resolution: Duplicate
    • None
    • 3.5.0
    • c client, java client
    • None

    Description

      Currently the list of zookeeper servers needs to be provided to the client APIs at construction time, and cannot be changed without a complete shutdown/restart of the client API. However, there are scenarios that require the server list to be updated, such as removal or addition of a ZK cluster node, and it would be nice if the list could be updated via a simple API call.

      The general approach (in the Java client) would be to "RemoveServer()/AddServer()" functions for Zookeeper that calls down to ClientCnxn, where they are just maintained in a list. Of course if
      the server being removed is the one currently connected, we'd need to disconnect, but a simple call to disconnect() seems like it would resolve that and trigger the automatic re-connection logic.
      An equivalent change could be made in the C code.

      This change would also make dynamic cluster membership in ZOOKEEPER-107 easier to implement.

      Attachments

        1. 762.diff
          7 kB
          Jared Cantwell

        Issue Links

          Activity

            People

              Unassigned Unassigned
              wrightd Dave Wright
              Votes:
              1 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: