[
https://issues.apache.org/jira/browse/CURATOR-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14944054#comment-14944054
]
ASF GitHub Bot commented on CURATOR-270:
----------------------------------------
GitHub user serba opened a pull request:
https://github.com/apache/curator/pull/113
CURATOR-270 createContainers does not work correctly with usingNamespace
I just recently upgraded my project to 2.9.0 and noticed that
`PathChildrenCache` recipe started failing with
```
Caused by: org.apache.zookeeper.KeeperException$NoNodeException:
KeeperErrorCode = NoNode for /parent
at
org.apache.zookeeper.KeeperException.create(KeeperException.java:111)
~[zookeeper-3.4.6.jar:3.4.6-1569965]
at
org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
~[zookeeper-3.4.6.jar:3.4.6-1569965]
at org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1590)
~[zookeeper-3.4.6.jar:3.4.6-1569965]
at
org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:214)
~[curator-framework-2.9.0.jar:?]
at
org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:203)
~[curator-framework-2.9.0.jar:?]
at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107)
~[curator-client-2.9.0.jar:?]
at
org.apache.curator.framework.imps.GetChildrenBuilderImpl.pathInForeground(GetChildrenBuilderImpl.java:200)
~[curator-framework-2.9.0.jar:?]
at
org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:191)
~[curator-framework-2.9.0.jar:?]
at
org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:38)
~[curator-framework-2.9.0.jar:?]
at
org.apache.curator.framework.recipes.cache.PathChildrenCache.rebuild(PathChildrenCache.java:326)
~[curator-recipes-2.9.0.jar:?]
at
org.apache.curator.framework.recipes.cache.PathChildrenCache.start(PathChildrenCache.java:299)
~[curator-recipes-2.9.0.jar:?]
```
It turns out that `PathChildrenCache` recently started using new
implementation `createContainers` for creating parent directories/znodes and
this method has a bug in `NamespaceFacade.createContainers` implementation,
because it does not account for namespace name.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/serba/curator CURATOR-270
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/curator/pull/113.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #113
----
commit 1556a2fcb8fd0d43669b057eb51290e3bf5ee5a2
Author: Alexey Serba <[email protected]>
Date: 2015-10-05T21:11:35Z
CURATOR-270 createContainers does not work correctly with usingNamespace
----
> createContainers does not work correctly with usingNamespace
> ------------------------------------------------------------
>
> Key: CURATOR-270
> URL: https://issues.apache.org/jira/browse/CURATOR-270
> Project: Apache Curator
> Issue Type: Bug
> Components: Framework
> Affects Versions: 2.9.0
> Reporter: Alexey Serba
> Fix For: 2.9.1
>
>
> I just recently upgraded my project to 2.9.0 and noticed that
> {{PathChildrenCache}} recipe started failing with
> {noformat}
> Caused by: org.apache.zookeeper.KeeperException$NoNodeException:
> KeeperErrorCode = NoNode for /parent
> at
> org.apache.zookeeper.KeeperException.create(KeeperException.java:111)
> ~[zookeeper-3.4.6.jar:3.4.6-1569965]
> at
> org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
> ~[zookeeper-3.4.6.jar:3.4.6-1569965]
> at org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1590)
> ~[zookeeper-3.4.6.jar:3.4.6-1569965]
> at
> org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:214)
> ~[curator-framework-2.9.0.jar:?]
> at
> org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:203)
> ~[curator-framework-2.9.0.jar:?]
> at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107)
> ~[curator-client-2.9.0.jar:?]
> at
> org.apache.curator.framework.imps.GetChildrenBuilderImpl.pathInForeground(GetChildrenBuilderImpl.java:200)
> ~[curator-framework-2.9.0.jar:?]
> at
> org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:191)
> ~[curator-framework-2.9.0.jar:?]
> at
> org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:38)
> ~[curator-framework-2.9.0.jar:?]
> at
> org.apache.curator.framework.recipes.cache.PathChildrenCache.rebuild(PathChildrenCache.java:326)
> ~[curator-recipes-2.9.0.jar:?]
> at
> org.apache.curator.framework.recipes.cache.PathChildrenCache.start(PathChildrenCache.java:299)
> ~[curator-recipes-2.9.0.jar:?]
> {noformat}
> It turns out that {{PathChildrenCache}} recently started using new
> implementation {{createContainers}} for creating parent directories/znodes
> and this method has a bug in {{NamespaceFacade.createContainers}}
> implementation, because it does not account for namespace name.
> I'll create a PR with a test and fix shortly.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)