zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thijs Terlouw <thijsterl...@gmail.com>
Subject ZooKeeper chroot not transparent in zoo_create()
Date Wed, 23 Mar 2011 07:12:48 GMT
I've recently started to use the chroot functionality (introduced in
3.2.0) as part of my connect string.It mostly works as expected, but
there is one case that is unexpected: when I create a path with
zoo_create() I can retrieve the created path. This is very useful when
you set the ZOO_SEQUENCE flag. Unfortunately the returned path
includes the chroot as part of the path. This was unexpected to me: I
expected that the chroot would be totally transparent. The
documentation for zoo_create() says:
"path_buffer : Buffer which will be filled with the path of the new
node (this might be different than the supplied path because of the

This gave me the impression that this flag is the only reason the
returned path is different from the created path, but apparently it's
not. Is this a bug or intended behaviour. If so, what's the rationale
behind this? It seems I need to manually remove the chroot (I didn't
find a helper function for this either).

My use case is to create a path with a sequence number and then delete
this path later. Unfortunately I cannot delete the path because it has
the chroot prepended to it, and thus it will result in two chroots.

I'm using the C-api and ZooKeeper 3.3.1 in cluster mode.

Thijs Terlouw

View raw message