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

Eric Tschetter commented on CURATOR-34:
---------------------------------------

I'm confused.  If you call

framework.create.creatingParentsIfNeeded.forPath("/examples/something");

And 

/examples/something

already exists, I believe the correct behavior is to throw a 
NodeExistsException, that seems correct to me.  

The "creatingParentsIfNeeded()" is just making sure that the parents exist, not 
handling the case where the child node might already exist.
                
> CuratorFramework.create().creatingParentsIfNeeded().forPath() throws 
> NodeExistsException if node exists
> -------------------------------------------------------------------------------------------------------
>
>                 Key: CURATOR-34
>                 URL: https://issues.apache.org/jira/browse/CURATOR-34
>             Project: Apache Curator
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: 2.0.0-incubating, 2.0.1-incubating
>            Reporter: Nandor Kracser
>            Priority: Minor
>
> I think that NodeExistsException should be ignored in CreateBuilderImpl. In 
> the try and in the NoNodeException catch block as well.
> org.apache.zookeeper.KeeperException$NodeExistsException: KeeperErrorCode = 
> NodeExists for /examples/something
>       at org.apache.zookeeper.KeeperException.create(KeeperException.java:119)
>       at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
>       at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:783)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl$10.call(CreateBuilderImpl.java:626)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl$10.call(CreateBuilderImpl.java:610)
>       at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl.pathInForeground(CreateBuilderImpl.java:606)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:429)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:409)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl$4.forPath(CreateBuilderImpl.java:317)
>       at 
> org.apache.curator.framework.imps.CreateBuilderImpl$4.forPath(CreateBuilderImpl.java:253)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to