In the way I understood the question, Jordan seems to have observed that sync() is not affecting exists (correct me if I'm wrong, please). If that's the case, then I believe we have a bug.

-Flavio

On Nov 23, 2011, at 6:01 PM, Patrick Hunt wrote:

On Thu, Nov 10, 2011 at 10:29 PM, Jordan Zimmerman
<[email protected]> wrote:
A while back I asked about sync() and got responses that said it's only needed for reads (getData, getChildren). I was looking through the source and it appears that this does _not_ apply to exsists(). Am I reading that correctly? i.e. will exists() always return an accurate (in terms of the leader) view of a node's metadata?

No, sync applies to any read. We call it "slow read" in some cases
because it forces the follower to get up to date with the leader.

Keep in mind that any read from any server is never "accurate" at
least in the sense that you likely mean it. e.g. the state of
leadership may change btw the time the server responds to your exists
call and the time it takes for TCP/OS to propagate the response to
your client.
http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing

Patrick

flavio
junqueira

research scientist

[email protected]
direct +34 93-183-8828

avinguda diagonal 177, 8th floor, barcelona, 08018, es
phone (408) 349 3300    fax (408) 349 3301

Reply via email to