diff --git a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/ListInfoSubcommand.java b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/ListInfoSubcommand.java index 643207118064..6e6e3cf0ecf4 100644 --- a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/ListInfoSubcommand.java +++ b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/ListInfoSubcommand.java @@ -71,28 +71,24 @@ public class ListInfoSubcommand extends ScmSubcommand { @Override public void execute(ScmClient scmClient) throws IOException { pipelines = scmClient.listPipelines(); - if (Strings.isNullOrEmpty(ipaddress) && Strings.isNullOrEmpty(uuid)) { - getAllNodes(scmClient).forEach(this::printDatanodeInfo); - } else { - Stream allNodes = getAllNodes(scmClient).stream(); - if (!Strings.isNullOrEmpty(ipaddress)) { - allNodes = allNodes.filter(p -> p.getDatanodeDetails().getIpAddress() - .compareToIgnoreCase(ipaddress) == 0); - } - if (!Strings.isNullOrEmpty(uuid)) { - allNodes = allNodes.filter(p -> - p.getDatanodeDetails().getUuidString().equals(uuid)); - } - if (!Strings.isNullOrEmpty(nodeOperationalState)) { - allNodes = allNodes.filter(p -> p.getOpState().toString() - .compareToIgnoreCase(nodeOperationalState) == 0); - } - if (!Strings.isNullOrEmpty(nodeState)) { - allNodes = allNodes.filter(p -> p.getHealthState().toString() - .compareToIgnoreCase(nodeState) == 0); - } - allNodes.forEach(this::printDatanodeInfo); + Stream allNodes = getAllNodes(scmClient).stream(); + if (!Strings.isNullOrEmpty(ipaddress)) { + allNodes = allNodes.filter(p -> p.getDatanodeDetails().getIpAddress() + .compareToIgnoreCase(ipaddress) == 0); + } + if (!Strings.isNullOrEmpty(uuid)) { + allNodes = allNodes.filter(p -> + p.getDatanodeDetails().getUuidString().equals(uuid)); + } + if (!Strings.isNullOrEmpty(nodeOperationalState)) { + allNodes = allNodes.filter(p -> p.getOpState().toString() + .compareToIgnoreCase(nodeOperationalState) == 0); + } + if (!Strings.isNullOrEmpty(nodeState)) { + allNodes = allNodes.filter(p -> p.getHealthState().toString() + .compareToIgnoreCase(nodeState) == 0); } + allNodes.forEach(this::printDatanodeInfo); } private List getAllNodes(ScmClient scmClient)