[ 
https://issues.apache.org/jira/browse/HDFS-6830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14090366#comment-14090366
 ] 

Tsz Wo Nicholas Sze edited comment on HDFS-6830 at 8/8/14 6:29 AM:
-------------------------------------------------------------------

> ... the callee does not expect it to be.

Except for tests, BlockInfo.addStorage(..) is only called by 
DatanodeStorageInfo.addBlock(..).  Do you mean that 
DatanodeStorageInfo.addBlock(..) is the ONLY callee and the bug is that it does 
not remove the block from otherStorage's list?


was (Author: szetszwo):
> ... the callee does not expect it to be.

Except for tests, BlockInfo.addStorage(..) is only called by 
DatanodeStorageInfo.addBlock(..).  Do you mean that 
DatanodeStorageInfo.addBlock(..) is the ONLY callee and it does not expect the 
block is still in the otherStorage's list since it already has checked and 
called otherStorage.removeBlock(b)?

> BlockManager.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
>
>
> 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)

Reply via email to