sodonnel commented on code in PR #5856:
URL: https://github.com/apache/ozone/pull/5856#discussion_r1455225645
##########
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMClientProtocolServer.java:
##########
@@ -612,6 +612,29 @@ public List<HddsProtos.Node> queryNode(
return result;
}
+ @Override
+ public HddsProtos.Node querySingleNode(String uuid)
+ throws IOException {
+ HddsProtos.Node result = null;
+ for (DatanodeDetails node : scm.getScmNodeManager().getAllNodes()) {
+ try {
+ if (node.getUuid().toString().equals(uuid)) {
+ NodeStatus ns = scm.getScmNodeManager().getNodeStatus(node);
+ result = HddsProtos.Node.newBuilder()
+ .setNodeID(node.getProtoBufMessage())
+ .addNodeStates(ns.getHealth())
+ .addNodeOperationalStates(ns.getOperationalState())
+ .build();
+ break;
+ }
+ } catch (NodeNotFoundException e) {
+ throw new IOException(
+ "An unexpected error occurred querying the NodeStatus", e);
Review Comment:
I guess "NodeNotFound" should not happen, as we have just retrieved the node
from NodeManager before querying its status, so the error really is unexpected.
The message includes the stack trace, so it should be easy for a caller to
figure out what was wrong.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]