Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,7 @@
</thead>
{#EnteringMaintenanceNodes}
<tr>
<td>{name} ({xferaddr})</td>
<td>{location}/{name} ({xferaddr})</td>
<td>{underReplicatedBlocks}</td>
<td>{maintenanceOnlyReplicas}</td>
<td>{underReplicateInOpenFiles}</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6492,6 +6492,7 @@ public String getLiveNodes() {
.put("infoAddr", node.getInfoAddr())
.put("infoSecureAddr", node.getInfoSecureAddr())
.put("xferaddr", node.getXferAddr())
.put("location", node.getNetworkLocation())
.put("lastContact", getLastContact(node))
.put("usedSpace", getDfsUsed(node))
.put("adminState", node.getAdminState().toString())
Expand Down Expand Up @@ -6541,6 +6542,7 @@ public String getDeadNodes() {
.put("decommissioned", node.isDecommissioned())
.put("adminState", node.getAdminState().toString())
.put("xferaddr", node.getXferAddr())
.put("location", node.getNetworkLocation())
.build();
info.put(node.getHostName() + ":" + node.getXferPort(), innerinfo);
}
Expand All @@ -6562,6 +6564,7 @@ public String getDecomNodes() {
Map<String, Object> innerinfo = ImmutableMap
.<String, Object> builder()
.put("xferaddr", node.getXferAddr())
.put("location", node.getNetworkLocation())
.put("underReplicatedBlocks",
node.getLeavingServiceStatus().getUnderReplicatedBlocks())
.put("decommissionOnlyReplicas",
Expand Down Expand Up @@ -6589,6 +6592,7 @@ public String getEnteringMaintenanceNodes() {
Map<String, Object> attrMap = ImmutableMap
.<String, Object> builder()
.put("xferaddr", node.getXferAddr())
.put("location", node.getNetworkLocation())
.put("underReplicatedBlocks",
node.getLeavingServiceStatus().getUnderReplicatedBlocks())
.put("maintenanceOnlyReplicas",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@
{#LiveNodes}
<tr>
<td ng-value="{state}">{state}</td>
<td ng-value="{state}-{name}" class="dfshealth-node-icon dfshealth-node-{state}">{name} ({xferaddr})</td>
<td ng-value="{state}-{name}" class="dfshealth-node-icon dfshealth-node-{state}">{location}/{name} ({xferaddr})</td>
<td ng-value="{state}-{name}"><a href='{dnWebAddress}'>{dnWebAddress}</a></td>
<td ng-value="{lastContact}">{lastContact}s</td>
<td ng-value="{lastBlockReport}">{lastBlockReport}m</td>
Expand All @@ -349,7 +349,7 @@
{#DeadNodes}
<tr class="danger">
<td ng-value="{state}">{state}</td>
<td ng-value="{state}-{name}" class="dfshealth-node-icon dfshealth-node-{state}">{name} ({xferaddr})</td>
<td ng-value="{state}-{name}" class="dfshealth-node-icon dfshealth-node-{state}">{location}/{name} ({xferaddr})</td>
<td></td>
<td>{#helper_relative_time value="{lastContact}"/}</td>
<td></td>
Expand Down Expand Up @@ -378,7 +378,7 @@
</thead>
{#EnteringMaintenanceNodes}
<tr>
<td>{name} ({xferaddr})</td>
<td>{location}/{name} ({xferaddr})</td>
<td>{underReplicatedBlocks}</td>
<td>{maintenanceOnlyReplicas}</td>
<td>{underReplicateInOpenFiles}</td>
Expand All @@ -404,7 +404,7 @@
</thead>
{#DecomNodes}
<tr>
<td>{name} ({xferaddr})</td>
<td>{location}/{name} ({xferaddr})</td>
<td>{underReplicatedBlocks}</td>
<td>{decommissionOnlyReplicas}</td>
<td>{underReplicateInOpenFiles}</td>
Expand Down Expand Up @@ -433,7 +433,7 @@
</thead>
{#LiveNodes}
<tr>
<td>{name} ({xferaddr})</td>
<td>{location}/{name} ({xferaddr})</td>
<td>{#helper_date_tostring value="{lastVolumeFailureDate}"/}</td>
<td>{volfails}</td>
<td>{estimatedCapacityLostTotal|fmt_bytes}</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ public void testNameNodeMXBeanInfo() throws Exception {
MiniDFSCluster cluster = null;

try {
cluster = new MiniDFSCluster.Builder(conf).numDataNodes(2).build();
cluster = new MiniDFSCluster.Builder(conf).numDataNodes(4).build();
cluster.waitActive();

// Set upgrade domain on the first DN.
Expand Down Expand Up @@ -171,7 +171,7 @@ public void testNameNodeMXBeanInfo() throws Exception {
"LiveNodes"));
Map<String, Map<String, Object>> liveNodes =
(Map<String, Map<String, Object>>) JSON.parse(alivenodeinfo);
assertTrue(liveNodes.size() == 2);
assertTrue(liveNodes.size() == 4);
for (Map<String, Object> liveNode : liveNodes.values()) {
assertTrue(liveNode.containsKey("nonDfsUsedSpace"));
assertTrue(((Long)liveNode.get("nonDfsUsedSpace")) >= 0);
Expand All @@ -195,6 +195,27 @@ public void testNameNodeMXBeanInfo() throws Exception {
assertFalse(xferAddr.equals(dnXferAddrInMaintenance) ^ inMaintenance);
}
assertEquals(fsn.getLiveNodes(), alivenodeinfo);

// Put the third DN to decommissioning state.
DatanodeDescriptor decommissioningNode = dm.getDatanode(
cluster.getDataNodes().get(2).getDatanodeId());
decommissioningNode.startDecommission();

// Put the fourth DN to decommissioned state.
DatanodeDescriptor decommissionedNode = dm.getDatanode(
cluster.getDataNodes().get(3).getDatanodeId());
decommissionedNode.setDecommissioned();

// Assert the location field is included in the mxbeanName
// under different states
String alivenodeinfo1 = (String) (mbs.getAttribute(mxbeanName,
"LiveNodes"));
Map<String, Map<String, Object>> liveNodes1 =
(Map<String, Map<String, Object>>) JSON.parse(alivenodeinfo1);
for (Map<String, Object> liveNode : liveNodes1.values()) {
assertTrue(liveNode.containsKey("location"));
}

// get attributes DeadNodes
String deadNodeInfo = (String) (mbs.getAttribute(mxbeanName,
"DeadNodes"));
Expand Down