Allow dynamic addition/removal of server nodes in the client API
----------------------------------------------------------------
Key: ZOOKEEPER-762
URL: https://issues.apache.org/jira/browse/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.