hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arpit Agarwal (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-5483) Make reportDiff resilient to malformed block reports
Date Wed, 18 Dec 2013 20:29:07 GMT

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

Arpit Agarwal commented on HDFS-5483:

Thanks for reporting, I'll take a look.

While we will fix this particular failure, please note that we don't really support the same
storage being attached to multiple DataNodes. It may cause other unexpected failures.

> Make reportDiff resilient to malformed block reports
> ----------------------------------------------------
>                 Key: HDFS-5483
>                 URL: https://issues.apache.org/jira/browse/HDFS-5483
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>    Affects Versions: Heterogeneous Storage (HDFS-2832)
>            Reporter: Arpit Agarwal
> {{BlockManager#reportDiff}} can cause an assertion failure in {{BlockInfo#moveBlockToHead}}
if the block report shows the same block as belonging to more than one storage.
> The issue is that {{moveBlockToHead}} assumes it will find the DatanodeStorageInfo for
the given block.
> Exception details:
> {code}
> java.lang.AssertionError: Index is out of bound
>         at org.apache.hadoop.hdfs.server.blockmanagement.BlockInfo.setNext(BlockInfo.java:152)
>         at org.apache.hadoop.hdfs.server.blockmanagement.BlockInfo.moveBlockToHead(BlockInfo.java:351)
>         at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeStorageInfo.moveBlockToHead(DatanodeStorageInfo.java:243)
>         at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.reportDiff(BlockManager.java:1841)
>         at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.processReport(BlockManager.java:1709)
>         at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.processReport(BlockManager.java:1637)
>         at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.blockReport(NameNodeRpcServer.java:984)
>         at org.apache.hadoop.hdfs.server.datanode.TestDataNodeVolumeFailure.testVolumeFailure(TestDataNodeVolumeFailure.java:165)
> {code}

This message was sent by Atlassian JIRA

View raw message