hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uma Maheswara Rao G (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-776) Fix exception handling in Balancer
Date Fri, 10 Feb 2012 04:16:05 GMT

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

Uma Maheswara Rao G commented on HDFS-776:
------------------------------------------

Yep, considering multiple Namenodes support in Balancer today, your points make sense to me.
{quote}
How about throwing an exception in getAccessToken(..) when it is called? We may set shouldRun
to false in run() and the check shouldRun in getAccessToken(..).
{quote}
this proposal sounds good. Let me take a look.

                
> 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
>         Attachments: HDFS-776.0.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

        

Mime
View raw message