[
https://issues.apache.org/jira/browse/HDFS-6830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arpit Agarwal updated HDFS-6830:
--------------------------------
Attachment: HDFS-6830.04.patch
bq. Block is moved manually to some other storage
Yes this is indeed how I hit the issue. This should not cause the NN to assert.
Updated patch to perform the check in DatanodeStorageInfo.addBlock().
> BlockInfo.addStorage fails when DN updates storage
> --------------------------------------------------
>
> Key: HDFS-6830
> URL: https://issues.apache.org/jira/browse/HDFS-6830
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Affects Versions: 2.5.0
> Reporter: Arpit Agarwal
> Assignee: Arpit Agarwal
> Attachments: HDFS-6830.01.patch, HDFS-6830.02.patch,
> HDFS-6830.03.patch, HDFS-6830.04.patch
>
>
> The call to {{removeStorageInfo}} is wrong because the block is still in the
> DatanodeStorage's list of blocks and the callee does not expect it to be.
> {code}
> } else {
> // The block is on the DN but belongs to a different storage.
> // Update our state.
> removeStorage(getStorageInfo(idx));
> added = false; // Just updating storage. Return false.
> }
> {code}
> It is a very unlikely code path to hit since storage updates usually occur
> via incremental block reports.
--
This message was sent by Atlassian JIRA
(v6.2#6252)