zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Dunning <ted.dunn...@gmail.com>
Subject Re: Create nested paths
Date Thu, 01 Mar 2012 23:02:44 GMT
No. Version number won't change the fact that I am spacy. 

I meant the check op. 

Sent from my iPhone

On Mar 1, 2012, at 10:13 AM, "Shelley, Ryan" <Ryan.Shelley@disney.com> wrote:

> I don't see an Op.exists() method. Check, Create, Delete and SetData. I'm
> on 3.4.3, if that makes a difference.
> On 2/29/12 7:16 PM, "Ted Dunning" <ted.dunning@gmail.com> wrote:
>> On Wed, Feb 29, 2012 at 7:04 PM, Marshall McMullen <
>> marshall.mcmullen@gmail.com> wrote:
>>> Yes, Ted's right. The multi has to fail as that's part of the contract
>>> it
>>> guarantees.
>>> The only thing you could do, which will significantly narrow the race
>>> condition, is as you're *building *the multi, check if the path already
>>> exists. If so, then don't add the create op for that path into the
>>> multi.
>>> Of course this may not work in every situation, but we use that
>>> approach in
>>> many code paths and it works well.
>> Another approach is to compose one multi with Op.exists() for each level
>> so
>> that you find everything you need, then create another with the correct
>> Op.create() operations.  That gets the problem down to two server
>> round-trips but still has the race condition.

View raw message