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.

Reply via email to