[ https://issues.apache.org/jira/browse/HDFS-12822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guangming Zhang updated HDFS-12822: ----------------------------------- Description: Description: Hi, When I ran the HDFS unit test and got a failure in TestDirectoryScanner.java test case : TestDirectoryScanner.testThrottling:624 Throttle is too permissive detail: Running org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner Tests run: 7, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 227.046 sec <<< FAILURE! - in org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner testThrottling(org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner) Time elapsed: 198.014 sec <<< FAILURE! java.lang.AssertionError: Throttle is too permissive at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.assertTrue(Assert.java:41) at org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner.testThrottling(TestDirectoryScanner.java:624) And below is the failure part of source code TestDirectoryScanner.java: {code:java} ........... while ((retries > 0) && ((ratio < 7f) || (ratio > 10f))) { scanner = new DirectoryScanner(dataNode, fds, conf); ratio = runThrottleTest(blocks); retries -= 1; } // Waiting should be about 9x running. LOG.info("RATIO: " + ratio); assertTrue("Throttle is too restrictive", ratio <= 10f); assertTrue("Throttle is too permissive", ratio >= 7f); ............ private float runThrottleTest(int blocks) throws IOException { scanner.setRetainDiffs(true); scan(blocks, 0, 0, 0, 0, 0); scanner.shutdown(); assertFalse(scanner.getRunStatus()); return (float)scanner.timeWaitingMs.get() / scanner.timeRunningMs.get(); } ............. {code} The ratio in my test is 6.0578866, which is smaller than 7f in the code. So the code thrown out an assertTrue failure. My questions are: 1. Why the ratio was set between 7f and 10f, is it a empirical value? 2. The ratio is smaller than 7f in AArch64 platform, is this value within normal range? Could anyone help? Thanks a lot. was: Description: Hi, When I ran the HDFS unit test and got a failure in TestDirectoryScanner.java test case : TestDirectoryScanner.testThrottling:624 Throttle is too permissive detail: Running org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner Tests run: 7, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 227.046 sec <<< FAILURE! - in org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner testThrottling(org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner) Time elapsed: 198.014 sec <<< FAILURE! java.lang.AssertionError: Throttle is too permissive at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.assertTrue(Assert.java:41) at org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner.testThrottling(TestDirectoryScanner.java:624) And below is the failure part of source code TestDirectoryScanner.java: {code:java} ........... while ((retries > 0) && ((ratio < 7f) || (ratio > 10f))) { scanner = new DirectoryScanner(dataNode, fds, conf); ratio = runThrottleTest(blocks); retries -= 1; } // Waiting should be about 9x running. LOG.info("RATIO: " + ratio); assertTrue("Throttle is too restrictive", ratio <= 10f); assertTrue("Throttle is too permissive", ratio >= 7f); ............ private float runThrottleTest(int blocks) throws IOException { scanner.setRetainDiffs(true); scan(blocks, 0, 0, 0, 0, 0); scanner.shutdown(); assertFalse(scanner.getRunStatus()); return (float)scanner.timeWaitingMs.get() / scanner.timeRunningMs.get(); } ............. {code} The ratio in my test is 6.0578866, which is smaller than 7f in the code. So the code thrown out an assertTrue failure. My questions are: 1. Why the ratio was set between 7f and 10f, is it a empirical value? 2. The ratio is smaller than 7f in AArch64 platform, is this value within normal range? Could anyone help? Thanks a lot. > HDFS unit test failure in AArch64. TestDirectoryScanner.testThrottling: > Throttle is too permissive > -------------------------------------------------------------------------------------------------- > > Key: HDFS-12822 > URL: https://issues.apache.org/jira/browse/HDFS-12822 > Project: Hadoop HDFS > Issue Type: Test > Components: test > Affects Versions: 3.1.0 > Environment: ARMv8 AArch64, Ubuntu16.04 > Reporter: Guangming Zhang > Priority: Minor > Labels: dtest, easyfix, maven, test > Original Estimate: 168h > Remaining Estimate: 168h > > Description: Hi, When I ran the HDFS unit test and got a failure in > TestDirectoryScanner.java test case : > TestDirectoryScanner.testThrottling:624 Throttle is too permissive > detail: > Running > org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner > Tests run: 7, Failures: 1, Errors: 0, Skipped: 0, Time > elapsed: 227.046 sec <<< FAILURE! - in > org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner > > testThrottling(org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner) > Time elapsed: 198.014 sec <<< FAILURE! > java.lang.AssertionError: Throttle is too permissive > at > org.junit.Assert.fail(Assert.java:88) > at > org.junit.Assert.assertTrue(Assert.java:41) > at > org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner.testThrottling(TestDirectoryScanner.java:624) > And below is the failure part of source code TestDirectoryScanner.java: > {code:java} > ........... > while ((retries > 0) && ((ratio < 7f) || (ratio > 10f))) { > scanner = new DirectoryScanner(dataNode, fds, conf); > ratio = runThrottleTest(blocks); > retries -= 1; > } > // Waiting should be about 9x running. > LOG.info("RATIO: " + ratio); > assertTrue("Throttle is too restrictive", ratio <= 10f); > assertTrue("Throttle is too permissive", ratio >= 7f); > ............ > private float runThrottleTest(int blocks) throws IOException { > scanner.setRetainDiffs(true); > scan(blocks, 0, 0, 0, 0, 0); > scanner.shutdown(); > assertFalse(scanner.getRunStatus()); > return (float)scanner.timeWaitingMs.get() / scanner.timeRunningMs.get(); > } > ............. > {code} > The ratio in my test is 6.0578866, which is smaller than 7f in the code. So > the code thrown out an assertTrue failure. > My questions are: > 1. Why the ratio was set between 7f and 10f, is it a empirical value? > 2. The ratio is smaller than 7f in AArch64 platform, is this value > within normal range? > Could anyone help? Thanks a lot. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org