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

                 Key: ZOOKEEPER-762
             Project: Zookeeper
          Issue Type: Sub-task
          Components: c client, java client
            Reporter: Dave Wright
            Priority: Minor

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.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to