Alexey Serba created CURATOR-270:
------------------------------------
Summary: 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)