Details
-
Sub-task
-
Status: Resolved
-
Minor
-
Resolution: Duplicate
-
None
-
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
Attachments
Issue Links
- blocks
-
ZOOKEEPER-836 hostlist as string
-
- Resolved
-
- is related to
-
ZOOKEEPER-1355 Add zk.updateServerList(newServerList)
-
- Resolved
-