Sfoglia il codice sorgente

HDFS-15143. LocatedStripedBlock returns wrong block type. Contributed by Ayush Saxena.

Ayush Saxena 5 anni fa
parent
commit
f876dc228b

+ 5 - 0
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/LocatedStripedBlock.java

@@ -77,6 +77,11 @@ public class LocatedStripedBlock extends LocatedBlock {
     return true;
   }
 
+  @Override
+  public BlockType getBlockType() {
+    return BlockType.STRIPED;
+  }
+
   public Token<BlockTokenIdentifier>[] getBlockTokens() {
     return blockTokens;
   }

+ 8 - 0
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/util/TestStripedBlockUtil.java

@@ -22,6 +22,7 @@ import com.google.common.base.Preconditions;
 import org.apache.hadoop.fs.StorageType;
 import org.apache.hadoop.hdfs.DFSTestUtil;
 import org.apache.hadoop.hdfs.StripedFileTestUtil;
+import org.apache.hadoop.hdfs.protocol.BlockType;
 import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
 import org.apache.hadoop.hdfs.protocol.ExtendedBlock;
 import org.apache.hadoop.hdfs.protocol.LocatedBlock;
@@ -173,6 +174,13 @@ public class TestStripedBlockUtil {
     return bufs;
   }
 
+  @Test
+  public void testLocatedStripedBlockType() {
+    LocatedStripedBlock lsb =
+        new LocatedStripedBlock(null, null, null, null, null, 0, false, null);
+    assertEquals(BlockType.STRIPED, lsb.getBlockType());
+  }
+
   @Test
   public void testParseDummyStripedBlock() {
     LocatedStripedBlock lsb = createDummyLocatedBlock(