Patrick Hunt updated ZOOKEEPER-16:
this patch starts to validate the path, but quickly runs into an issue.
create(//sync) handles validation fine, we throw
however create(//async) is not declared to throw KeeperException
we can call the async callback handler with rc code of BadArgument, however
this is suboptimal, it would be much better to throw an exception right away.
We lose the error message as well (contained by the exception)
our best option afiak is to deprecate the current async methods and create new
async methods which throw KE and have "Path path" arguments instead of "String
path" arguments. We could validate the path when Path is created (a new zk
type), also passing around Path objects might allow us to optimize
serialization/deser during the marshalling stages.
It really is unfortunate that the async methods aren't declared to throw
KeeperException, adding this would allow error handling flexibility in future
(perhaps some other error type we haven't throught of, separate from path
> Need to do path validation
> Key: ZOOKEEPER-16
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-16
> Project: Zookeeper
> Issue Type: Bug
> Components: c client, java client, server
> Reporter: Patrick Hunt
> Fix For: 3.1.0
> Attachments: ZOOKEEPER-16.patch
> Moved from SourceForge to Apache.
This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.