[ 
https://issues.apache.org/jira/browse/CURATOR-236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on CURATOR-236 started by Scott Blum.
------------------------------------------
> TreeCache throws IllegalArgumentException when node is a substring of the 
> requested path
> ----------------------------------------------------------------------------------------
>
>                 Key: CURATOR-236
>                 URL: https://issues.apache.org/jira/browse/CURATOR-236
>             Project: Apache Curator
>          Issue Type: Bug
>          Components: Recipes
>    Affects Versions: 2.8.0
>         Environment: JDK 1.7.0_71; OSX Yosemite;
>            Reporter: Joe Littlejohn
>            Assignee: Scott Blum
>            Priority: Minor
>
> The javadocs for the new TreeCache state that {{getCurrentChildren}} will 
> return {{null}} when the given path is not found in the cache. This seems to 
> be the case for most paths, however if the given path contains an existing 
> node as a substring, an exception is thrown:
> {code}
> Unhandled java.lang.IllegalArgumentException
>    Path must start with / character
>                 PathUtils.java:   54  
> org.apache.curator.utils.PathUtils/validatePath
>                   ZKPaths.java:  149  org.apache.curator.utils.ZKPaths/split
>                 TreeCache.java:  597  
> org.apache.curator.framework.recipes.cache.TreeCache/find
>                 TreeCache.java:  625  
> org.apache.curator.framework.recipes.cache.TreeCache/getCurrentChildren
>                            nil:   -1  
> sun.reflect.GeneratedMethodAccessor13/invoke
> DelegatingMethodAccessorImpl.java:   43  
> sun.reflect.DelegatingMethodAccessorImpl/invoke
>                    Method.java:  606  java.lang.reflect.Method/invoke
>                 Reflector.java:   93  
> clojure.lang.Reflector/invokeMatchingMethod
>                 Reflector.java:   28  
> clojure.lang.Reflector/invokeInstanceMethod
>                           REPL:    1  healthy.zookeeper/eval20736
> {code}
> (please ignore the strangely formatted exception, I'm running a Clojure repl 
> in Emacs)
> So, lets imagine that I have the following nodes in zookeeper:
> {code}
> /foo
> /foo/bar
> /foo/baz
> {code}
> If I have a TreeCache {{t}} pointing at {{/foo}} then I will get the 
> following results:
> {code}
> t.getCurrentChildren("/sss") => nil
> t.getCurrentChildren("/foo/sss") => nil
> t.getCurrentChildren("/foo/barsss") => IllegalArgumentException: Path must 
> start with / character
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to