Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Zookeeper >> mail # user >> Create nested paths

Copy link to this message
Re: Create nested paths
On Wed, Feb 29, 2012 at 7:04 PM, Marshall McMullen <

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