hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-4815) Double call countReplicas() to fetch corruptReplicas and liveReplicas is not needed
Date Sat, 11 May 2013 02:21:17 GMT

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

Hadoop QA commented on HDFS-4815:

{color:green}+1 overall{color}.  Here are the results of testing the latest attachment 
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 1 new or modified
test files.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of
javac compiler warnings.

    {color:green}+1 javadoc{color}.  The javadoc tool did not generate any warning messages.

    {color:green}+1 eclipse:eclipse{color}.  The patch built with eclipse:eclipse.

    {color:green}+1 findbugs{color}.  The patch does not introduce any new Findbugs (version
1.3.9) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number
of release audit warnings.

    {color:green}+1 core tests{color}.  The patch passed unit tests in hadoop-hdfs-project/hadoop-hdfs.

    {color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/4381//testReport/
Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/4381//console

This message is automatically generated.
> Double call countReplicas() to fetch corruptReplicas and liveReplicas is not needed
> -----------------------------------------------------------------------------------
>                 Key: HDFS-4815
>                 URL: https://issues.apache.org/jira/browse/HDFS-4815
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Tian Hong Wang
>            Assignee: Tian Hong Wang
>              Labels: patch
>         Attachments: HDFS-4815.patch
> In TestRBWBlockInvalidation, the original code is:
> while (!isCorruptReported) {
>         if (countReplicas(namesystem, blk).corruptReplicas() > 0) {
>           isCorruptReported = true;
>         }
>         Thread.sleep(100);
> }
> assertEquals("There should be 1 replica in the corruptReplicasMap", 1,
>           countReplicas(namesystem, blk).corruptReplicas());
> Once the program detects there exists one corruptReplica, it will break the while loop.
After that, it call countReplicas() again in assertEquals(). But sometimes I met the following
> java.lang.AssertionError: There should be 1 replica in the corruptReplicasMap expected:<1>
but was:<0>
> It's obviously that second call countReplicas() in assertEquals(), the corruptReplicas
value has been changed since program go to sleep and BlockManger recovered the corrupt block
during this time.  
> So what I do is:
> 1) once detecting there exists one corruptReplica, break the loop and don't call sleep,
the same as liveReplicas
> 2) don't double check the countReplicas & liveReplicas
> 3) sometime I meet the problem of testcase timeout, so I speed up the block report interval

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message