[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13011145#comment-13011145
 ] 

Thijs Terlouw commented on ZOOKEEPER-1027:
------------------------------------------

I can confirm that this patch solves the problem I was seeing. I have tried a 
lot of things to make the unit tests fail for testChroot() but somehow the unit 
test always succeeds. Perhaps some compilation options are different or 
different concurrency? Just guessing, it's very strange that the unit tests 
don't fail :)

> chroot not transparent in zoo_create()
> --------------------------------------
>
>                 Key: ZOOKEEPER-1027
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1027
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: c client
>    Affects Versions: 3.3.3
>         Environment: Linux, ZooKeeper 3.3.3, C-client, java 1.6.0_17-b04, 
> hotspot server vm
>            Reporter: Thijs Terlouw
>            Assignee: Thijs Terlouw
>             Fix For: 3.3.3
>
>         Attachments: zookeeper-3.3.3.patch
>
>
> 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
> ZOO_SEQUENCE flag)."
> 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 behavior? 
> I workaround this issue now by remembering the chroot in
> my wrapper code and after a call to zoo_create() i check if the returned
> path starts with the chroot. If it does, I remove it.
> 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 believe this only affects the create functions.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to