Repository: hadoop Updated Branches: refs/heads/branch-2 c56044b9e -> c57f55223
HDFS-9655. NN should start JVM pause monitor before loading fsimage. (John Zhuge via Lei (Eddy) Xu) (cherry picked from commit 2ec438e8f7cd77cb48fd1264781e60a48e331908) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c57f5522 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c57f5522 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c57f5522 Branch: refs/heads/branch-2 Commit: c57f55223c4ab15a50c77abe25ac783d119ab949 Parents: c56044b Author: Lei Xu <[email protected]> Authored: Wed Jan 20 14:26:11 2016 -0800 Committer: Lei Xu <[email protected]> Committed: Wed Jan 20 14:26:47 2016 -0800 ---------------------------------------------------------------------- .../java/org/apache/hadoop/util/JvmPauseMonitor.java | 1 + hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../apache/hadoop/hdfs/server/namenode/NameNode.java | 12 ++++++------ 3 files changed, 10 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/c57f5522/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java index 882e4a7..17a1952 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java @@ -185,6 +185,7 @@ public class JvmPauseMonitor extends AbstractService { public void run() { StopWatch sw = new StopWatch(); Map<String, GcTimes> gcTimesBeforeSleep = getGcTimes(); + LOG.info("Starting JVM pause monitor"); while (shouldRun) { sw.reset().start(); try { http://git-wip-us.apache.org/repos/asf/hadoop/blob/c57f5522/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 83b60a1..e734ba5 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -932,6 +932,9 @@ Release 2.8.0 - UNRELEASED HDFS-9415. Document dfs.cluster.administrators and dfs.permissions.superusergroup. (Xiaobing Zhou via Arpit Agarwal) + HDFS-9655. NN should start JVM pause monitor before loading fsimage. + (John Zhuge via Lei (Eddy) Xu) + OPTIMIZATIONS HDFS-8026. Trace FSOutputSummer#writeChecksumChunks rather than http://git-wip-us.apache.org/repos/asf/hadoop/blob/c57f5522/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java index 9cbde90..9b41a56 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java @@ -671,6 +671,11 @@ public class NameNode implements NameNodeStatusMXBean { NameNode.initMetrics(conf, this.getRole()); StartupProgressMetrics.register(startupProgress); + pauseMonitor = new JvmPauseMonitor(); + pauseMonitor.init(conf); + pauseMonitor.start(); + metrics.getJvmMetrics().setPauseMonitor(pauseMonitor); + if (NamenodeRole.NAMENODE == role) { startHttpServer(conf); } @@ -690,12 +695,7 @@ public class NameNode implements NameNodeStatusMXBean { httpServer.setNameNodeAddress(getNameNodeAddress()); httpServer.setFSImage(getFSImage()); } - - pauseMonitor = new JvmPauseMonitor(); - pauseMonitor.init(conf); - pauseMonitor.start(); - metrics.getJvmMetrics().setPauseMonitor(pauseMonitor); - + startCommonServices(conf); startMetricsLogger(conf); }
