[
https://issues.apache.org/jira/browse/ZOOKEEPER-1909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13966326#comment-13966326
]
Rakesh R commented on ZOOKEEPER-1909:
-------------------------------------
Thanks [~rgs], very nice test case:)
I've few more comments, sorry I failed to add few cases previously. Please see:
# Add path to the exception message, it would be helpful.
{code}
throw new KeeperException.NoWatcherException();
{code}
# Consider a case where multiple clients added their watcher on same znode
path. Now "list" will not be null, and I think, we need to see whether my
"watcher" exists on the list. If not again throw exception no ?
{code}
HashSet<Watcher> list = watchTable.get(path);
// ...
list.remove(watcher);
{code}
# Also, in tests, can we catch specific exception
KeeperException.NoWatcherException.
{code}
+ try {
+ zk.removeWatches("/nowatchhere", null, WatcherType.Data, false);
+ } catch (KeeperException nwe) {
+ nw = true;
+ }
{code}
> removeWatches doesn't return NOWATCHER when there is no watch set
> -----------------------------------------------------------------
>
> Key: ZOOKEEPER-1909
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1909
> Project: ZooKeeper
> Issue Type: Bug
> Components: server
> Affects Versions: 3.5.0
> Reporter: Raul Gutierrez Segales
> Fix For: 3.5.0
>
> Attachments: ZOOKEEPER-1909.patch, ZOOKEEPER-1909.patch
>
>
> ZOOKEEPER-442 introduced support for a new opcode: removeWatches. The way it
> was implemented though, implies that you need to check on the client side if
> a watch/watcher is set *before* you send your request to the server. If you
> don't, ZK will just swallow your request and won't return an error code if
> there isn't a watch set for that path.
> I noticed this whilst implementing removeWatches for Kazoo [1]. As mentioned,
> I guess it could be expected that clients should do the check on their side
> but I think that the correct thing would to have the server do the validation
> and return the error code accordingly as well.
> [~rakeshr], [~phunt]: thoughts?
> [1]
> https://github.com/rgs1/kazoo/commit/44ca48e975aeea3fd0664fe13136a72caf89e54f
--
This message was sent by Atlassian JIRA
(v6.2#6252)