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

Brahma Reddy Battula edited comment on HDFS-11178 at 11/28/16 2:17 AM:
-----------------------------------------------------------------------

[~linyiqun] thanks for pinging me. 

Following can trigger only one DN..
{code}
    // trigger dn's FBR. The FBR will add block-dn mapping.
    DataNodeTestUtils.triggerBlockReport(dn);
{code}

your approach looks fine for me. i.e replace with 
{{cluster.triggerBlockReports();}} which will trigger on all DN's and using 
{{GenericTestUtils.waitFor}}.

pinging [~drankye]/[~Sammi] as they worked on HDFS-11117.

 *Minor Nits:* 
1) can we add assertion inside {{public Boolean get()}} itself ,such that we 
remove following which is already there..?
{code}
// make sure NN has correct block-dn mapping
  BlockInfoStriped blockInfo = (BlockInfoStriped) cluster.getNamesystem()
        .getFSDirectory().getINode(ecFile.toString()).asFile().getLastBlock();
    NumberReplicas nr = spy.countNodes(blockInfo);
    Assert.assertEquals(groupSize, nr.liveReplicas());
    Assert.assertEquals(0, nr.excessReplicas());
{code}
2) can you remove unused import {{import 
org.apache.hadoop.hdfs.DFSTestUtil;}}..?



was (Author: brahmareddy):
[~linyiqun] thanks for pinging me. 

Following can trigger only one DN..
{code}
    // trigger dn's FBR. The FBR will add block-dn mapping.
    DataNodeTestUtils.triggerBlockReport(dn);
{code}

your approach looks fine for me. i.e replace with 
{{cluster.triggerBlockReports();}} which will trigger on all DN's and using 
{{GenericTestUtils.waitFor}}.

pinging [~drankye]/[~Sammi] as they worked on HDFS-11117.

 *Minor Nits:* 
1) can we add assertion inside {{public Boolean get()}} itself ,such that we 
remove following..?
{code}
  BlockInfoStriped blockInfo = (BlockInfoStriped) cluster.getNamesystem()
        .getFSDirectory().getINode(ecFile.toString()).asFile().getLastBlock();
    NumberReplicas nr = spy.countNodes(blockInfo);
    Assert.assertEquals(groupSize, nr.liveReplicas());
    Assert.assertEquals(0, nr.excessReplicas());
{code}
2) can you remove unused import {{import 
org.apache.hadoop.hdfs.DFSTestUtil;}}..?


> TestAddStripedBlockInFBR#testAddBlockInFullBlockReport fails frequently in 
> trunk
> --------------------------------------------------------------------------------
>
>                 Key: HDFS-11178
>                 URL: https://issues.apache.org/jira/browse/HDFS-11178
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: test
>            Reporter: Yiqun Lin
>            Assignee: Yiqun Lin
>         Attachments: HDFS-11178.001.patch
>
>
> The test {{TestAddStripedBlockInFBR#testAddBlockInFullBlockReport}} fails 
> easily in trunk. It's easy to reproduce the failure, it fails 2~3 times when 
> I run the test 4~-5 times in my local. Also it failed in the recent 
> Jenkins(https://builds.apache.org/job/PreCommit-HDFS-Build/17667/testReport/),
>  The stack infos:
> {code}
> java.lang.AssertionError: expected:<9> but was:<7>
>       at org.junit.Assert.fail(Assert.java:88)
>       at org.junit.Assert.failNotEquals(Assert.java:743)
>       at org.junit.Assert.assertEquals(Assert.java:118)
>       at org.junit.Assert.assertEquals(Assert.java:555)
>       at org.junit.Assert.assertEquals(Assert.java:542)
>       at 
> org.apache.hadoop.hdfs.server.namenode.TestAddStripedBlockInFBR.testAddBlockInFullBlockReport(TestAddStripedBlockInFBR.java:108)
> {code}
> It's easy to have a fix: Use {{GenericTestUtils.waitFor}} to wait the full 
> blocks being reported. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to