Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-776

Fix exception handling in Balancer

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 0.23.2
    • balancer & mover
    • None
    • Reviewed

    Description

      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.

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

      Attachments

        1. HDFS-776.patch
          1 kB
          Uma Maheswara Rao G
        2. HDFS-776.patch
          2 kB
          Uma Maheswara Rao G
        3. HDFS-776.patch
          3 kB
          Uma Maheswara Rao G
        4. HDFS-776.patch
          3 kB
          Uma Maheswara Rao G
        5. HDFS-776.0.patch
          1 kB
          Brock Noland

        Activity

          People

            umamaheswararao Uma Maheswara Rao G
            omalley Owen O'Malley
            Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: