You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2017/11/08 05:17:00 UTC
[jira] [Commented] (HBASE-18441)
ZookeeperWatcher#interruptedException should throw exception
[ https://issues.apache.org/jira/browse/HBASE-18441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16243395#comment-16243395 ]
Hudson commented on HBASE-18441:
--------------------------------
FAILURE: Integrated in Jenkins build HBase-1.2-JDK7 #271 (See [https://builds.apache.org/job/HBase-1.2-JDK7/271/])
HBASE-19205 Backport HBASE-18441 ZookeeperWatcher#interruptedException (stack: rev eb8560cab55018236f502f25a77c69610f3c56da)
* (edit) hbase-client/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKUtil.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServer.java
> ZookeeperWatcher#interruptedException should throw exception
> ------------------------------------------------------------
>
> Key: HBASE-18441
> URL: https://issues.apache.org/jira/browse/HBASE-18441
> Project: HBase
> Issue Type: Bug
> Reporter: Yu Li
> Assignee: Yu Li
> Fix For: 2.0.0, 3.0.0, 1.4.0
>
> Attachments: HBASE-18441.patch, HBASE-18441.trivial.patch
>
>
> Currently Zookeeper#interruptedException will swallow the InterruptedException and only log, which might cause unexpected behavior, such as when invoking {{ZKUtil#checkExists}} and the watcher thread somehow interrupted, the method will return -1 which means the checked znode doesn't exist, while actually the znode exists.
> We could also see a TODO tag in the javadoc, which indicates we need some fix/improvement here:
> {code}
> /**
> * Handles InterruptedExceptions in client calls.
> * <p>
> * This may be temporary but for now this gives one place to deal with these.
> * <p>
> * TODO: Currently, this method does nothing.
> * Is this ever expected to happen? Do we abort or can we let it run?
> * Maybe this should be logged as WARN? It shouldn't happen?
> * <p>
> * @param ie
> */
> {code}
> Here we propose to throw a {{KeeperException$SystemErrorException}} in {{ZookeeperWatcher#interruptedException}}, and will add a UT case to cover the interruption scenario.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)