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 03:16:55 GMT
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.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message