hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kai Zheng (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-10720) Fix intermittent test failure of TestDataNodeErasureCodingMetrics#testEcTasks
Date Wed, 10 Aug 2016 08:30:20 GMT

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

Kai Zheng commented on HDFS-10720:

Thanks Rakesh for the update. One question is, I'm not sure if the new function {{getDatanodeToBeCorrupted}}
could be avoided or not, maybe combine it into the loop and make it concise some bit. 

> Fix intermittent test failure of TestDataNodeErasureCodingMetrics#testEcTasks
> -----------------------------------------------------------------------------
>                 Key: HDFS-10720
>                 URL: https://issues.apache.org/jira/browse/HDFS-10720
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Rakesh R
>            Assignee: Rakesh R
>         Attachments: HDFS-10720-00.patch, HDFS-10720-01.patch, HDFS-10720-02.patch
> The test is wrongly finding out the datanode to be corrupted from the block locations.
Instead of finding out a datanode which is used in the block locations it is simply getting
a datanode from the cluster, which may not be a datanode present in the block locations.
> {code}
>     byte[] indices = lastBlock.getBlockIndices();
>     //corrupt the first block
>     DataNode toCorruptDn = cluster.getDataNodes().get(indices[0]);
> {code}
> For example, datanodes in the cluster.getDataNodes() array indexed like, 0->Dn1, 1->Dn2,
2->Dn3, 3->Dn4, 4->Dn5, 5->Dn6, 6->Dn7, 7->Dn8, 8->Dn9, 9->Dn10
> Assume the datanodes which are part of block location is => Dn2, Dn3, Dn4, Dn5, Dn6,
Dn7, Dn8, Dn9, Dn10. Now, in the failed scenario, it is getting the corrupted datanode as
cluster.getDataNodes().get(0) which will be Dn1 and corruption of this datanode will not result
in ECWork and is failing the tests. 
> Ideally, the test should find a datanode from the block locations and corrupt it, that
will trigger ECWork.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org

View raw message