Browse Source

HDFS-17151. EC: Fix wrong metadata in BlockInfoStriped after recovery. (#5938). Contributed by Shuyan Zhang.

Signed-off-by: He Xiaoqiao <hexiaoqiao@apache.org>
zhangshuyan 1 year ago
parent
commit
60867de422

+ 3 - 3
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockRecoveryWorker.java

@@ -468,9 +468,9 @@ public class BlockRecoveryWorker {
       // notify Namenode the new size and locations
       final DatanodeID[] newLocs = new DatanodeID[totalBlkNum];
       final String[] newStorages = new String[totalBlkNum];
-      for (int i = 0; i < blockIndices.length; i++) {
-        newLocs[blockIndices[i]] = DatanodeID.EMPTY_DATANODE_ID;
-        newStorages[blockIndices[i]] = "";
+      for (int i = 0; i < newLocs.length; i++) {
+        newLocs[i] = DatanodeID.EMPTY_DATANODE_ID;
+        newStorages[i] = "";
       }
       for (BlockRecord r : rurList) {
         int index = (int) (r.rInfo.getBlockId() &