From 35c0d7cfa49534178dc430aeacdfc7efeca7629e Mon Sep 17 00:00:00 2001 From: Aryan Gupta Date: Tue, 15 Apr 2025 20:15:08 +0530 Subject: [PATCH] HDDS-12816. Ozone debug replicas chunk-info has incorrect or None in FileLocations. --- .../java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java index 3b774c6dfdf0..394117e0ac45 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java @@ -327,9 +327,12 @@ private ContainerCommandRequestProto reconstructRequestIfNeeded( ContainerCommandRequestProto request, DatanodeDetails dn) { boolean isEcRequest = pipeline.getReplicationConfig() .getReplicationType() == HddsProtos.ReplicationType.EC; + if (request.hasReadContainer() && isEcRequest) { + request = request.toBuilder().setDatanodeUuid(dn.getUuidString()).build(); + } if (request.hasGetBlock() && isEcRequest) { ContainerProtos.GetBlockRequestProto gbr = request.getGetBlock(); - request = request.toBuilder().setGetBlock(gbr.toBuilder().setBlockID( + request = request.toBuilder().setDatanodeUuid(dn.getUuidString()).setGetBlock(gbr.toBuilder().setBlockID( gbr.getBlockID().toBuilder().setReplicaIndex( pipeline.getReplicaIndex(dn)).build()).build()).build(); }