Description
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.
@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(); } }
Attachments
Attachments
Issue Links
- relates to
-
HBASE-5843 Improve HBase MTTR - Mean Time To Recover
- Closed