[
https://issues.apache.org/jira/browse/HDFS-10770?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Junping Du updated HDFS-10770:
------------------------------
Target Version/s: (was: 2.8.0)
> Namenode shouldn't change storage info if client reports different storage.
> (via reportBadBlock)
> ------------------------------------------------------------------------------------------------
>
> Key: HDFS-10770
> URL: https://issues.apache.org/jira/browse/HDFS-10770
> Project: Hadoop HDFS
> Issue Type: Bug
> Reporter: Rushabh S Shah
>
> From HDFS-10348 [comment |
> https://issues.apache.org/jira/browse/HDFS-10348?focusedCommentId=15271522&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15271522].
> This jira is created to discuss whether we should change the storageInfo in
> triplets if the client reports bad block with storage which is different than
> what the namenode thinks.
> Here is the relevant code:
> {code:title=DatanodeStorageInfo.java|borderStyle=solid}
> public AddBlockResult addBlock(BlockInfo b, Block reportedBlock) {
> // First check whether the block belongs to a different storage
> // on the same DN.
> AddBlockResult result = AddBlockResult.ADDED;
> DatanodeStorageInfo otherStorage =
> b.findStorageInfo(getDatanodeDescriptor());
> if (otherStorage != null) {
> if (otherStorage != this) {
> // The block belongs to a different storage. Remove it first.
> otherStorage.removeBlock(b);
> result = AddBlockResult.REPLACED;
> } else {
> // The block is already associated with this storage.
> return AddBlockResult.ALREADY_EXIST;
> }
> }
> b.addStorage(this, reportedBlock);
> blocks.add(b);
> return result;
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]