HDFS-8167. BlockManager.addBlockCollectionWithCheck should check if the block is a striped block. Contributed by Hui Zheng.
This commit is contained in:
parent
4c039b0876
commit
64f8f0a145
@ -85,3 +85,5 @@
|
||||
|
||||
HDFS-7994. Detect if resevered EC Block ID is already used during namenode
|
||||
startup. (Hui Zheng via szetszwo)
|
||||
|
||||
HDFS-8167. BlockManager.addBlockCollectionWithCheck should check if the block is a striped block. (Hui Zheng via zhz).
|
||||
|
@ -2946,15 +2946,6 @@ public boolean hasNonEcBlockUsingStripedID(){
|
||||
return hasNonEcBlockUsingStripedID;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of whether there are any non-EC blocks using StripedID.
|
||||
*
|
||||
* @param has - the value of whether there are any non-EC blocks using StripedID.
|
||||
*/
|
||||
public void hasNonEcBlockUsingStripedID(boolean has){
|
||||
hasNonEcBlockUsingStripedID = has;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process a single possibly misreplicated block. This adds it to the
|
||||
* appropriate queues if necessary, and returns a result code indicating
|
||||
@ -3562,7 +3553,7 @@ public BlockInfo getStoredBlock(Block block) {
|
||||
if (BlockIdManager.isStripedBlockID(block.getBlockId())) {
|
||||
info = blocksMap.getStoredBlock(
|
||||
new Block(BlockIdManager.convertToStripedID(block.getBlockId())));
|
||||
if ((info == null) && hasNonEcBlockUsingStripedID()){
|
||||
if ((info == null) && hasNonEcBlockUsingStripedID){
|
||||
info = blocksMap.getStoredBlock(block);
|
||||
}
|
||||
} else {
|
||||
@ -3746,10 +3737,9 @@ public BlockInfo addBlockCollection(BlockInfo block,
|
||||
*/
|
||||
public BlockInfo addBlockCollectionWithCheck(
|
||||
BlockInfo block, BlockCollection bc) {
|
||||
if (!hasNonEcBlockUsingStripedID()){
|
||||
if (BlockIdManager.isStripedBlockID(block.getBlockId())) {
|
||||
hasNonEcBlockUsingStripedID(true);
|
||||
}
|
||||
if (!hasNonEcBlockUsingStripedID && !block.isStriped() &&
|
||||
BlockIdManager.isStripedBlockID(block.getBlockId())) {
|
||||
hasNonEcBlockUsingStripedID = true;
|
||||
}
|
||||
return addBlockCollection(block, bc);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user