Parcourir la source

HDFS-7932. Speed up the shutdown of datanode during rolling upgrade. Contributed by Kihwal Lee.
(cherry picked from commit 61a4c7fc9891def0e85edf7e41d74c6b92c85fdb)

Kihwal Lee il y a 10 ans
Parent
commit
4e967d0bcd

+ 2 - 0
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

@@ -893,6 +893,8 @@ Release 2.7.0 - UNRELEASED
 
     HDFS-7816. Unable to open webhdfs paths with "+". (wheat9 via kihwal)
 
+    HDFS-7932. Speed up the shutdown of datanode during rolling upgrade.(kihwal)
+
     BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS
 
       HDFS-7720. Quota by Storage Type API, tools and ClientNameNode

+ 4 - 3
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java

@@ -1731,8 +1731,9 @@ public class DataNode extends ReconfigurableBase
         // termination of receiver threads.
         if (!this.shutdownForUpgrade ||
             (this.shutdownForUpgrade && (Time.monotonicNow() - timeNotified
-                > 2500))) {
+                > 1000))) {
           this.threadGroup.interrupt();
+          break;
         }
         LOG.info("Waiting for threadgroup to exit, active threads is " +
                  this.threadGroup.activeCount());
@@ -1743,8 +1744,8 @@ public class DataNode extends ReconfigurableBase
           Thread.sleep(sleepMs);
         } catch (InterruptedException e) {}
         sleepMs = sleepMs * 3 / 2; // exponential backoff
-        if (sleepMs > 1000) {
-          sleepMs = 1000;
+        if (sleepMs > 200) {
+          sleepMs = 200;
         }
       }
       this.threadGroup = null;