[ https://issues.apache.org/jira/browse/HBASE-6175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13407156#comment-13407156 ]
nkeywal commented on HBASE-6175: -------------------------------- bq. Is the loop right the way it sets ok = true at the top of the loop each time? Yes, we set it to false when the condition it not met in "ok = (ok && uniqueBlocksTotalWeight == weight);" bq. Would suggest you document too why the loop (your findings above). The is this comment at the end of the loop. You want me to add something? // NameNode is informed asynchronously, so we may have a delay. See HBASE-6175 bq. Indents seem off too. I'm gonna check. I've already committed the patch (yesterday), I will update if necessary. > TestFSUtils flaky on hdfs getFileStatus method > ---------------------------------------------- > > Key: HBASE-6175 > URL: https://issues.apache.org/jira/browse/HBASE-6175 > Project: HBase > Issue Type: Bug > Components: test > Affects Versions: 0.96.0 > Reporter: nkeywal > Assignee: nkeywal > Priority: Trivial > Fix For: 0.96.0 > > Attachments: 6175.v1.patch > > > This is a simplified version of a TestFSUtils issue: a sleep and the test > works 100% of the time. No sleep and it becomes flaky. Root cause unknown. > While the issue appears on the tests, the root cause could be an issue on > real production system as well. > {noformat} > @Test > public void testFSUTils() throws Exception { > final String hosts[] = {"host1", "host2", "host3", "host4"}; > Path testFile = new Path("/test1.txt"); > HBaseTestingUtility htu = new HBaseTestingUtility(); > try { > htu.startMiniDFSCluster(hosts).waitActive(); > FileSystem fs = htu.getDFSCluster().getFileSystem(); > for (int i = 0; i < 100; ++i) { > FSDataOutputStream out = fs.create(testFile); > byte[] data = new byte[1]; > out.write(data, 0, 1); > out.close(); > // Put a sleep here to make me work > //Thread.sleep(2000); > FileStatus status = fs.getFileStatus(testFile); > HDFSBlocksDistribution blocksDistribution = > FSUtils.computeHDFSBlocksDistribution(fs, status, 0, > status.getLen()); > assertEquals("Wrong number of hosts distributing blocks. at > iteration "+i, 3, > blocksDistribution.getTopHosts().size()); > fs.delete(testFile, true); > } > } finally { > htu.shutdownMiniDFSCluster(); > } > } > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira