[
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.