Yu Li created HBASE-18441: ----------------------------- Summary: 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
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)