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)

Reply via email to