Hi Dave, Just a question on how do you see it being used, meaning who would call addserver and removeserver? It does seem useful to be able to do this. This is definitely worth working on. You can link it as a subtask of ZOOKEEPER-107.
Thanks mahadev On 5/3/10 7:03 AM, "Dave Wright" <wrig...@gmail.com> wrote: > I've got a situation where I essentially need dynamic cluster > membership, which has been talked about in ZOOKEEPER-107 but doesn't > look like it's going to happen any time soon. > > For now, I'm planning on working around this by having a simple > coordinator service on the server nodes that will re-write the configs > and bounce the servers when membership changes. Clients will may get > an error or two and need to reconnect, but that should be handled by > the normal error logic. > > On the client side, I'd really like to dynamically update the server > list w/o having to re-create the entire Zookeeper object. Looking at > the code, it seems like it would be pretty trivial to add > "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. > > Does anyone see an issue with that approach? > Were I to create the patch, do you think it would be interesting > enough to merge? It seems like that functionality will eventually be > needed for whatever full dynamic server support is eventually > implemented. > > -Dave Wright