You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "Jordan Zimmerman (JIRA)" <ji...@apache.org> on 2019/01/08 19:23:00 UTC

[jira] [Comment Edited] (CURATOR-499) ZKPaths strips trailing "/" incorrectly when creating sequential nodes

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

Jordan Zimmerman edited comment on CURATOR-499 at 1/8/19 7:22 PM:
------------------------------------------------------------------

Dang - we're in a bit of a catch-22 here. It's been in it's current form long enough that to support this behavior we'd have to consider it "new" behavior. I can imagine we'd use some kind of special spelling, maybe {{forPath("/path/to/node//", data)}} or something.

Or, another "verb" in the DSL: {{.withEmptyPath().forPath("/path/to/node/", data)}}


was (Author: randgalt):
Dang - we're in a bit of a catch-22 here. It's been in it's current form long enough that to support this behavior we'd have to consider it "new" behavior. I can imagine we'd use some kind of special spelling, maybe {{forPath("/path/to/node//", data)}} or something.

> ZKPaths strips trailing "/" incorrectly when creating sequential nodes
> ----------------------------------------------------------------------
>
>                 Key: CURATOR-499
>                 URL: https://issues.apache.org/jira/browse/CURATOR-499
>             Project: Apache Curator
>          Issue Type: Bug
>            Reporter: Marquis Wang
>            Assignee: Jordan Zimmerman
>            Priority: Minor
>
> I think this was introduced in CURATOR-166, which changed ZKPaths to strip trailing slashes from child nodes.
> This is fine in most cases: it made it so 
> {code:java}
> curatorFramework.create()
>     .forPath("/path/to/node/", data);{code}
> would create a node at {{/path/to/node}}.
> However, if you want to create a sequential node:
> {code:java}
> curatorFramework.create()
>     .withMode(CreateMode.PERSISTENT_SEQUENTIAL)
>     .forPath("/path/to/node/", data);{code}
> In clients after CURATOR-166 (2.7.1 and higher), this will create a node {{/path/to/node00000001}}. Before, and if you call the zookeeper cli with the same options, it would create a node {{/path/to/node/00000001}}.
> This effectively makes it so you cannot use curator to create sequential nodes where the entire node name is the sequence number.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)