hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yu Li (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-18441) ZookeeperWatcher#interruptedException should throw exception
Date Wed, 26 Jul 2017 07:26:00 GMT

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

Yu Li updated HBASE-18441:
--------------------------
       Resolution: Fixed
     Hadoop Flags: Reviewed
    Fix Version/s: 1.4.0
                   3.0.0
                   2.0.0
           Status: Resolved  (was: Patch Available)

Pushed into master/branch-1/branch-2, thanks [~tedyu] and [~apurtell] for review.

[~apurtell] [~stack] Just to confirm, that for bug fixes like this, we need to push into branch-1/branch-2
(besides master) by default, right? Thanks.

(resolving issue since all work done.)

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

Mime
View raw message