Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-13891 HDFS RBF stabilization phase I
  3. HDFS-13834

RBF: Connection creator thread should catch Throwable

    XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.3.0, HDFS-13891
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Connection creator thread is a single thread thats responsible for creating all downstream namenode connections.

      This is very critical thread and hence should not die understand exception/error scenarios.

      We saw this behavior in production systems where the thread died leaving the router process in bad state.

      The thread should also catch a generic error/exception.

      
          @Override
          public void run() {
            while (this.running) {
              try {
                ConnectionPool pool = this.queue.take();
                try {
                  int total = pool.getNumConnections();
                  int active = pool.getNumActiveConnections();
                  if (pool.getNumConnections() < pool.getMaxSize() &&
                      active >= MIN_ACTIVE_RATIO * total) {
                    ConnectionContext conn = pool.newConnection();
                    pool.addConnection(conn);
                  } else {
                    LOG.debug("Cannot add more than {} connections to {}",
                        pool.getMaxSize(), pool);
                  }
                } catch (IOException e) {
                  LOG.error("Cannot create a new connection", e);
                }
              } catch (InterruptedException e) {
                LOG.error("The connection creator was interrupted");
                this.running = false;
              }
            }
      
      

        Attachments

        1. HDFS-13834-HDFS-13891.5.patch
          5 kB
          CR Hota
        2. HDFS-13834-HDFS-13891.4.patch
          4 kB
          CR Hota
        3. HDFS-13834-HDFS-13891.3.patch
          4 kB
          CR Hota
        4. HDFS-13834-HDFS-13891.2.patch
          4 kB
          CR Hota
        5. HDFS-13834-HDFS-13891.1.patch
          4 kB
          CR Hota
        6. HDFS-13834-HDFS-13891.0.patch
          3 kB
          CR Hota
        7. HDFS-13834.1.patch
          0.8 kB
          CR Hota
        8. HDFS-13834.0.patch
          0.8 kB
          CR Hota

          Activity

            People

            • Assignee:
              crh CR Hota
              Reporter:
              crh CR Hota
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: