Hexiaoqiao commented on PR #6759:
URL: https://github.com/apache/hadoop/pull/6759#issuecomment-2081497703
@kokonguyen191 Thanks for your report and contributions. Sorry didn't get
this issue completely.
As description, you mentioned that `storage == null` as following. I wonder
why NPE not throw at `getPerStorageIBR(storage).put(rdbi);` first which at
org.apache.hadoop.hdfs.server.datanode.IncrementalBlockReportManager#addRDBI.
```
private void notifyNamenodeBlock(ExtendedBlock block, BlockStatus status,
String delHint, String storageUuid, boolean isOnTransientStorage) {
checkBlock(block);
final ReceivedDeletedBlockInfo info = new ReceivedDeletedBlockInfo(
block.getLocalBlock(), status, delHint);
final DatanodeStorage storage = dn.getFSDataset().getStorage(storageUuid);
// storage == null here because it's already removed earlier.
for (BPServiceActor actor : bpServices) {
actor.getIbrManager().notifyNamenodeBlock(info, storage,
isOnTransientStorage);
}
}
```
Another side, you mentioned that this issue is triggered by volume removed,
so how the logic between volume removed to NPE. Thanks again.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]