You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by wa...@apache.org on 2014/12/12 03:13:00 UTC
hadoop git commit: HDFS-7497. Inconsistent report of decommissioning
DataNodes between dfsadmin and NameNode webui. Contributed by Yongjun Zhang.
Repository: hadoop
Updated Branches:
refs/heads/trunk 5b9fcedb4 -> b437f5eef
HDFS-7497. Inconsistent report of decommissioning DataNodes between dfsadmin and NameNode webui. Contributed by Yongjun Zhang.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b437f5ee
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b437f5ee
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b437f5ee
Branch: refs/heads/trunk
Commit: b437f5eef40874287d4fbf9d8e43f1a857b5621f
Parents: 5b9fced
Author: Andrew Wang <wa...@apache.org>
Authored: Thu Dec 11 18:12:47 2014 -0800
Committer: Andrew Wang <wa...@apache.org>
Committed: Thu Dec 11 18:12:47 2014 -0800
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++
.../hdfs/server/blockmanagement/DatanodeManager.java | 12 ++----------
.../hdfs/server/namenode/TestDecommissioningStatus.java | 7 ++++++-
3 files changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/b437f5ee/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 5e75424..5977ed7 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -576,6 +576,9 @@ Release 2.7.0 - UNRELEASED
HDFS-7515. Fix new findbugs warnings in hadoop-hdfs. (wheat9)
+ HDFS-7497. Inconsistent report of decommissioning DataNodes between
+ dfsadmin and NameNode webui. (Yongjun Zhang via wang)
+
Release 2.6.1 - UNRELEASED
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/b437f5ee/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java
index 356a4a3..0ff469a 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java
@@ -1112,16 +1112,8 @@ public class DatanodeManager {
public List<DatanodeDescriptor> getDecommissioningNodes() {
// There is no need to take namesystem reader lock as
// getDatanodeListForReport will synchronize on datanodeMap
- final List<DatanodeDescriptor> decommissioningNodes
- = new ArrayList<DatanodeDescriptor>();
- final List<DatanodeDescriptor> results = getDatanodeListForReport(
- DatanodeReportType.LIVE);
- for(DatanodeDescriptor node : results) {
- if (node.isDecommissionInProgress()) {
- decommissioningNodes.add(node);
- }
- }
- return decommissioningNodes;
+ // A decommissioning DN may be "alive" or "dead".
+ return getDatanodeListForReport(DatanodeReportType.DECOMMISSIONING);
}
/* Getter and Setter for stale DataNodes related attributes */
http://git-wip-us.apache.org/repos/asf/hadoop/blob/b437f5ee/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestDecommissioningStatus.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestDecommissioningStatus.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestDecommissioningStatus.java
index 28f5eb4..a9aba86 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestDecommissioningStatus.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestDecommissioningStatus.java
@@ -239,10 +239,10 @@ public class TestDecommissioningStatus {
System.setOut(oldOut);
}
}
+
/**
* Tests Decommissioning Status in DFS.
*/
-
@Test
public void testDecommissionStatus() throws IOException, InterruptedException {
InetSocketAddress addr = new InetSocketAddress("localhost", cluster
@@ -351,6 +351,11 @@ public class TestDecommissioningStatus {
assertTrue("the node should be DECOMMISSION_IN_PROGRESSS",
dead.get(0).isDecommissionInProgress());
+ // Check DatanodeManager#getDecommissionNodes, make sure it returns
+ // the node as decommissioning, even if it's dead
+ List<DatanodeDescriptor> decomlist = dm.getDecommissioningNodes();
+ assertTrue("The node should be be decommissioning", decomlist.size() == 1);
+
// Delete the under-replicated file, which should let the
// DECOMMISSION_IN_PROGRESS node become DECOMMISSIONED
cleanupFile(fileSys, f);