diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/NodeEndpoint.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/NodeEndpoint.java index 478b92fa81d1..7f0efe97dd97 100644 --- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/NodeEndpoint.java +++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/NodeEndpoint.java @@ -280,8 +280,7 @@ private boolean preChecksSuccess(DatanodeDetails nodeByUuid, Map AtomicBoolean isContainerOrPipeLineOpen = new AtomicBoolean(false); try { nodeStatus = nodeManager.getNodeStatus(nodeByUuid); - boolean isNodeDecommissioned = nodeByUuid.getPersistedOpState() == NodeOperationalState.DECOMMISSIONED; - if (isNodeDecommissioned || nodeStatus.isDead()) { + if (nodeStatus.isDead()) { checkContainers(nodeByUuid, isContainerOrPipeLineOpen); if (isContainerOrPipeLineOpen.get()) { failedNodeErrorResponseMap.put(nodeByUuid.getUuidString(), "Open Containers/Pipelines"); @@ -298,8 +297,7 @@ private boolean preChecksSuccess(DatanodeDetails nodeByUuid, Map LOG.error("Node : {} not found", nodeByUuid); return false; } - failedNodeErrorResponseMap.put(nodeByUuid.getUuidString(), "DataNode should be in either DECOMMISSIONED " + - "operational state or DEAD node state."); + failedNodeErrorResponseMap.put(nodeByUuid.getUuidString(), "DataNode should be in DEAD node status."); return false; } diff --git a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java index e549a02e98a9..c3d2fd484a5a 100644 --- a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java +++ b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java @@ -1281,9 +1281,10 @@ public void testExplicitRemovalOfDecommissionedNode() throws Exception { (RemoveDataNodesResponseWrapper) removedDNResponse.getEntity(); DatanodesResponse errorDataNodes = removeDataNodesResponseWrapper.getDatanodesResponseMap().get("failedDatanodes"); DatanodesResponse removedNodes = removeDataNodesResponseWrapper.getDatanodesResponseMap().get("removedDatanodes"); - assertEquals(1, removedNodes.getTotalCount()); - assertNull(errorDataNodes); - removedNodes.getDatanodes().forEach(datanodeMetadata -> { + + assertEquals(1, errorDataNodes.getTotalCount()); + assertNull(removedNodes); + errorDataNodes.getDatanodes().forEach(datanodeMetadata -> { assertEquals("host3.datanode", datanodeMetadata.getHostname()); }); } @@ -1301,7 +1302,7 @@ public void testExplicitRemovalOfInvalidStateNode() { assertFalse(failedNodeErrorResponseMap.isEmpty()); String nodeError = failedNodeErrorResponseMap.get(dnUUID); assertNotNull(nodeError); - assertEquals("DataNode should be in either DECOMMISSIONED operational state or DEAD node state.", nodeError); + assertEquals("DataNode should be in DEAD node status.", nodeError); assertEquals(Response.Status.OK.getStatusCode(), removedDNResponse.getStatus()); }