[ https://issues.apache.org/jira/browse/HDFS-776?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tsz Wo (Nicholas), SZE reopened HDFS-776: ----------------------------------------- I somehow set the resolution to "Unresolved". Reopen to fix it. > Fix exception handling in Balancer > ---------------------------------- > > Key: HDFS-776 > URL: https://issues.apache.org/jira/browse/HDFS-776 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer > Reporter: Owen O'Malley > Assignee: Uma Maheswara Rao G > Priority: Critical > Fix For: 0.24.0, 0.23.2 > > Attachments: HDFS-776.0.patch, HDFS-776.patch, HDFS-776.patch, > HDFS-776.patch, HDFS-776.patch > > > The Balancer's AccessKeyUpdater handles exceptions badly. In particular: > 1. Catching Exception too low. The wrapper around setKeys should only catch > IOException. > 2. InterruptedException is ignored. It should be caught at the top level and > exit run. > 3. Throwable is not caught. It should be caught at the top level and kill the > Balancer server process. > {code} > class AccessKeyUpdater implements Runnable { > public void run() { > while (shouldRun) { > try { > accessTokenHandler.setKeys(namenode.getAccessKeys()); > } catch (Exception e) { > LOG.error(StringUtils.stringifyException(e)); > } > try { > Thread.sleep(keyUpdaterInterval); > } catch (InterruptedException ie) { > } > } > } > } > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira