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

Ayush Saxena commented on HDFS-13975:
-------------------------------------

Thanks [~jlowe] for putting this up.

But in this test I guess it was previously realized that it can fail with this 
exception and was considered fine as of then.

If you see the code it is explicitly mentioned there.

 
{code:java}
 // accept runtime if it is under 3.5 seconds, as we need to wait for
          // IN_PROGRESS report from DN, and some spare to be able to finish.
          // NOTE: This can be a source of flaky tests, if the box is busy,
          // assertion here is based on the following: Balancer is already set
          // up, iteration gets the blocks from the NN, and makes the decision
          // to move 2 blocks. After that the PendingMoves are scheduled, and
          // DataNode heartbeats in for the Balancer every second, iteration is
          // two seconds long. This means that it will fail if the setup and the
          // heartbeat from the DataNode takes more than 500ms, as the iteration
          // should end at the 3rd second from start. As the number of
          // operations seems to be pretty low, and all comm happens locally, I
          // think the possibility of a failure due to node busyness is low.
          assertTrue("Unexpected iteration runtime: " + runtime + "ms > 3.5s",
              runtime < 3500);
{code}
The timeout is for the best case scenario.For Average cases it doesn't provide 
any margin.IIUC Increasing that 3.5s limit is the only way to get this test a 
little ahead.Since all other factors which lead to this timeout seems beyond 
control.But not sure that going that way can take away the logic for this 
assertion.

> TestBalancer#testMaxIterationTime fails sporadically
> ----------------------------------------------------
>
>                 Key: HDFS-13975
>                 URL: https://issues.apache.org/jira/browse/HDFS-13975
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 3.2.0
>            Reporter: Jason Lowe
>            Priority: Major
>
> A number of precommit builds have seen this test fail like this:
> {noformat}
> java.lang.AssertionError: Unexpected iteration runtime: 4021ms > 3.5s
>       at org.junit.Assert.fail(Assert.java:88)
>       at org.junit.Assert.assertTrue(Assert.java:41)
>       at 
> org.apache.hadoop.hdfs.server.balancer.TestBalancer.testMaxIterationTime(TestBalancer.java:1649)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to