in hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsUtils.java [504:569]
public static BlockID getBlockID(ContainerCommandRequestProtoOrBuilder msg) {
ContainerProtos.DatanodeBlockID blockID = null;
switch (msg.getCmdType()) {
case DeleteBlock:
if (msg.hasDeleteBlock()) {
blockID = msg.getDeleteBlock().getBlockID();
}
break;
case DeleteChunk:
if (msg.hasDeleteChunk()) {
blockID = msg.getDeleteChunk().getBlockID();
}
break;
case GetBlock:
if (msg.hasGetBlock()) {
blockID = msg.getGetBlock().getBlockID();
}
break;
case GetCommittedBlockLength:
if (msg.hasGetCommittedBlockLength()) {
blockID = msg.getGetCommittedBlockLength().getBlockID();
}
break;
case GetSmallFile:
if (msg.hasGetSmallFile()) {
blockID = msg.getGetSmallFile().getBlock().getBlockID();
}
break;
case ListChunk:
if (msg.hasListChunk()) {
blockID = msg.getListChunk().getBlockID();
}
break;
case PutBlock:
if (msg.hasPutBlock()) {
blockID = msg.getPutBlock().getBlockData().getBlockID();
}
break;
case PutSmallFile:
if (msg.hasPutSmallFile()) {
blockID = msg.getPutSmallFile().getBlock().getBlockData().getBlockID();
}
break;
case ReadChunk:
if (msg.hasReadChunk()) {
blockID = msg.getReadChunk().getBlockID();
}
break;
case WriteChunk:
if (msg.hasWriteChunk()) {
blockID = msg.getWriteChunk().getBlockID();
}
break;
case FinalizeBlock:
if (msg.hasFinalizeBlock()) {
blockID = msg.getFinalizeBlock().getBlockID();
}
break;
default:
break;
}
return blockID != null
? BlockID.getFromProtobuf(blockID)
: null;
}