[ https://issues.apache.org/jira/browse/ZOOKEEPER-762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jared Cantwell updated ZOOKEEPER-762: ------------------------------------- Attachment: 762.diff We had this same issue. I have submitted a possible patch for the c-client. I didn't add in any unit tests yet, but if the code looks good I can put those together. A java client fix would be similar, and I can probably get that together too if there's interest. > 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 > Attachments: 762.diff > > > 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.