[ 
https://issues.apache.org/jira/browse/HBASE-18441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16243406#comment-16243406
 ] 

Hudson commented on HBASE-18441:
--------------------------------

SUCCESS: Integrated in Jenkins build HBase-1.2-IT #1010 (See 
[https://builds.apache.org/job/HBase-1.2-IT/1010/])
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-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServer.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.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)

Reply via email to