This is an automated email from the ASF dual-hosted git repository. sodonnell pushed a commit to branch HDDS-1880-Decom in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git
commit 637853d170c3bf7ebdef287cb5529b8011b5b164 Author: S O'Donnell <[email protected]> AuthorDate: Fri Apr 3 22:32:05 2020 +0100 Address issues cause by merge. --- .../hadoop/hdds/scm/cli/node/DatanodeAdminCommands.java | 16 ++++++++++------ .../ozone/scm/node/TestDecommissionAndMaintenance.java | 2 ++ .../hadoop/ozone/recon/api/ClusterStateEndpoint.java | 5 +++-- .../org/apache/hadoop/ozone/recon/api/NodeEndpoint.java | 7 ++++++- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/node/DatanodeAdminCommands.java b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/node/DatanodeAdminCommands.java index 2eba44e..b7752a3 100644 --- a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/node/DatanodeAdminCommands.java +++ b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/node/DatanodeAdminCommands.java @@ -17,11 +17,12 @@ */ package org.apache.hadoop.hdds.scm.cli.node; +import org.apache.hadoop.hdds.cli.GenericCli; import org.apache.hadoop.hdds.cli.HddsVersionProvider; -import org.apache.hadoop.hdds.cli.MissingSubcommandException; +import org.apache.hadoop.hdds.scm.cli.container.WithScmClient; +import picocli.CommandLine; import picocli.CommandLine.Command; import picocli.CommandLine.ParentCommand; -import org.apache.hadoop.hdds.scm.cli.SCMCLI; import java.util.concurrent.Callable; @@ -40,16 +41,19 @@ import java.util.concurrent.Callable; }) public class DatanodeAdminCommands implements Callable<Void> { + @CommandLine.Spec + private CommandLine.Model.CommandSpec spec; + @ParentCommand - private SCMCLI parent; + private WithScmClient parent; - public SCMCLI getParent() { + public WithScmClient getParent() { return parent; } @Override public Void call() throws Exception { - throw new MissingSubcommandException( - this.parent.getCmd().getSubcommands().get("nodeadmin")); + GenericCli.missingSubcommand(spec); + return null; } } \ No newline at end of file diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/scm/node/TestDecommissionAndMaintenance.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/scm/node/TestDecommissionAndMaintenance.java index fb03edd..f39af44 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/scm/node/TestDecommissionAndMaintenance.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/scm/node/TestDecommissionAndMaintenance.java @@ -25,6 +25,7 @@ import org.apache.hadoop.hdds.scm.node.NodeManager; import org.apache.hadoop.ozone.MiniOzoneCluster; import org.junit.After; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -82,6 +83,7 @@ public class TestDecommissionAndMaintenance { } @Test + @Ignore // HDDS-3345 public void testNodeCanBeDecommMaintAndRecommissioned() throws IOException { NodeManager nm = cluster.getStorageContainerManager().getScmNodeManager(); diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/ClusterStateEndpoint.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/ClusterStateEndpoint.java index e43dbf8..263c301 100644 --- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/ClusterStateEndpoint.java +++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/api/ClusterStateEndpoint.java @@ -19,8 +19,8 @@ package org.apache.hadoop.ozone.recon.api; import org.apache.hadoop.hdds.protocol.DatanodeDetails; -import org.apache.hadoop.hdds.protocol.proto.HddsProtos.NodeState; import org.apache.hadoop.hdds.scm.container.placement.metrics.SCMNodeStat; +import org.apache.hadoop.hdds.scm.node.NodeStatus; import org.apache.hadoop.hdds.scm.server.OzoneStorageContainerManager; import org.apache.hadoop.ozone.recon.api.types.ClusterStateResponse; import org.apache.hadoop.ozone.recon.api.types.DatanodeStorageReport; @@ -74,7 +74,8 @@ public class ClusterStateEndpoint { List<DatanodeDetails> datanodeDetails = nodeManager.getAllNodes(); int containers = this.containerManager.getContainerIDs().size(); int pipelines = this.pipelineManager.getPipelines().size(); - int healthyDatanodes = nodeManager.getNodeCount(NodeState.HEALTHY); + int healthyDatanodes = + nodeManager.getNodeCount(NodeStatus.inServiceHealthy()); SCMNodeStat stats = nodeManager.getStats(); DatanodeStorageReport storageReport = new DatanodeStorageReport(stats.getCapacity().get(), 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 d59bee6..0558eea 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 @@ -77,7 +77,12 @@ public class NodeEndpoint { datanodeDetails.forEach(datanode -> { DatanodeStorageReport storageReport = getStorageReport(datanode); - NodeState nodeState = nodeManager.getNodeState(datanode); + NodeState nodeState = null; + try { + nodeState = nodeManager.getNodeStatus(datanode).getHealth(); + } catch (NodeNotFoundException e) { + LOG.warn("Cannot get nodeState for datanode {}", datanode, e); + } String hostname = datanode.getHostName(); Set<PipelineID> pipelineIDs = nodeManager.getPipelines(datanode); List<DatanodePipeline> pipelines = new ArrayList<>(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
