You are right Pat. Replaying an async operation would involve a lot of state management for clients across servers and would involve a lot more work in determining which operation succeeded and the one which needs to be re run and the semantics of zookeeper client calls would be much harder to guarantee.
mahadev On 1/7/09 10:33 AM, "Patrick Hunt" <ph...@apache.org> wrote: > Kevin Burton wrote: >>> 3) it's possible for your code to get notified of a change, but never >>> process the change. This might happen if: >>> a) a node changed watch fires >>> b) your client code runs an async getData >>> c) you are disconnected from the server >>> >> >> Also, this seems very confusing... >> >> If I run an async request, the client should replay these if I'm reconnected >> to another host. > > (Ben/Flavio/Mahadev can correct me if I'm wrong here or missed some detail) > > Async operations are tricky as the server makes the change when it gets > the request, not when the client processes the response. So you could > request an async operation, which the server could process and respond > to the client, immed. after which the client is disconnected from the > server (before it can process the response). Client replay would not > work in this case, and given that async is typically used for high > throughput situations there could be a number of operations effected. > > Patrick