[
https://issues.apache.org/jira/browse/CURATOR-499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16737459#comment-16737459
]
Marquis Wang commented on CURATOR-499:
--------------------------------------
Since this only makes sense with sequential creates, as a non-sequential create
will just fail with no name, would it make sense to associate this with the
CreateMode? Either:
{code}
curatorFramework.create()
.withMode(CreateMode.PERSISTENT_SEQUENTIAL,
PathEncodingType.ALLOW_EMPTY)
.forPath(path, data);
{code}
or just adding two more CreateModes, PERSISTENT_SEQUENTIAL_WITH_EMPTY /
EPHEMERAL_SEQUENTIAL_WITH_EMPTY (kind of a mouthful, may not so good)?
{code}
curatorFramework.create()
.withMode(CreateMode.PERSISTENT_SEQUENTIAL_WITH_EMPTY)
.forPath(path, data);
{code}
> 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)