curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Blum (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (CURATOR-236) TreeCache throws IllegalArgumentException when node is a substring of the requested path
Date Thu, 16 Jul 2015 19:25:04 GMT

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

Scott Blum reassigned CURATOR-236:
----------------------------------

    Assignee: 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)

Mime
View raw message