Forráskód Böngészése

HDFS-8427. Remove dataBlockNum and parityBlockNum from BlockInfoStriped. Contributed by Kai Sasaki.

Jing Zhao 10 éve
szülő
commit
744ef17792

+ 3 - 0
hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt

@@ -241,3 +241,6 @@
 
     HDFS-8323. Bump GenerationStamp for write faliure in DFSStripedOutputStream.
     (Tsz Wo Nicholas Sze via jing9)
+
+    HDFS-8427. Remove dataBlockNum and parityBlockNum from BlockInfoStriped.
+    (Kai Sasaki via jing9)

+ 6 - 9
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoStriped.java

@@ -19,7 +19,6 @@ package org.apache.hadoop.hdfs.server.blockmanagement;
 
 import org.apache.hadoop.hdfs.protocol.Block;
 import org.apache.hadoop.hdfs.server.common.HdfsServerConstants.BlockUCState;
-import org.apache.hadoop.hdfs.server.namenode.ErasureCodingSchemaManager;
 import org.apache.hadoop.hdfs.util.StripedBlockUtil;
 import org.apache.hadoop.io.erasurecode.ECSchema;
 
@@ -39,8 +38,6 @@ import static org.apache.hadoop.hdfs.protocol.HdfsConstants.BLOCK_STRIPED_CELL_S
  * array to record the block index for each triplet.
  */
 public class BlockInfoStriped extends BlockInfo {
-  private final short dataBlockNum;
-  private final short parityBlockNum;
   private final ECSchema schema;
   /**
    * Always the same size with triplets. Record the block index for each triplet
@@ -54,8 +51,6 @@ public class BlockInfoStriped extends BlockInfo {
     indices = new byte[schema.getNumDataUnits() + schema.getNumParityUnits()];
     initIndices();
     this.schema = schema;
-    this.dataBlockNum = (short)schema.getNumDataUnits();
-    this.parityBlockNum = (short)schema.getNumParityUnits();
   }
 
   BlockInfoStriped(BlockInfoStriped b) {
@@ -64,15 +59,16 @@ public class BlockInfoStriped extends BlockInfo {
   }
 
   public short getTotalBlockNum() {
-    return (short) (dataBlockNum + parityBlockNum);
+    return (short) (this.schema.getNumDataUnits()
+        + this.schema.getNumParityUnits());
   }
 
   public short getDataBlockNum() {
-    return dataBlockNum;
+    return (short) this.schema.getNumDataUnits();
   }
 
   public short getParityBlockNum() {
-    return parityBlockNum;
+    return (short) this.schema.getNumParityUnits();
   }
 
   public ECSchema getSchema() {
@@ -210,7 +206,8 @@ public class BlockInfoStriped extends BlockInfo {
     // be the total of data blocks and parity blocks because
     // `getNumBytes` is the total of actual data block size.
     return StripedBlockUtil.spaceConsumedByStripedBlock(getNumBytes(),
-        dataBlockNum, parityBlockNum, BLOCK_STRIPED_CELL_SIZE);
+        this.schema.getNumDataUnits(), this.schema.getNumParityUnits(),
+        BLOCK_STRIPED_CELL_SIZE);
     }
 
   @Override