[ https://issues.apache.org/jira/browse/HBASE-18441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16098224#comment-16098224 ]
Yu Li commented on HBASE-18441: ------------------------------- ok, let me update when commit. Plan to commit this soon if no objections. > 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 > 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)