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