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

Jeff Zhang commented on TEZ-2391:
---------------------------------

e.g.  TestVertexImpl#testInputInitializerEvents fails very frequently on 
ubuntu. 

This is a bug in TestStateChangeNotifier.  
TestStateChangeNotifier#addedEventToQueue runs in dispatcher thread while 
TestStateChangeNotifier#processedEventFromQueue runs in state change notifier 
event handling thread. It is not guaranteed that addedEventToQueue is invoked 
before processedEventFromQueue. So if processedEventFromQueue is invoked before 
addedEventToQueue, this would cause wait there. Upload one patch to fix this 
issue.
* sleep in TestStateChangeNotifier#processedEventFromQueue until there's 
available events
* invoke updateTracker.stop() after dispatcher is stopped. otherwise there will 
still be hang issue in the teardown method.  e.g.  state change notifier event 
handling thread is stopped before all the events are processed 
TestStateChangeNotifier#processedEventFromQueue, in this case the dispatcher 
thread will hang in TestStateChangeNotifier#addedEventToQueue.


Besides that, I found another issue in TestVertexImpl, sometimes I will meet 
the following issue. 
{code}
testInputInitializerVertexStateUpdates(org.apache.tez.dag.app.dag.impl.TestVertexImpl)
java.lang.AssertionError: expected:<3> but was:<1>
        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.tez.dag.app.dag.impl.TestVertexImpl.testInputInitializerVertexStateUpdates(TestVertexImpl.java:3887)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        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){code}

> TestVertexImpl timing out at times on jenkins builds 
> -----------------------------------------------------
>
>                 Key: TEZ-2391
>                 URL: https://issues.apache.org/jira/browse/TEZ-2391
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: Hitesh Shah
>            Assignee: Mit Desai
>            Priority: Blocker
>         Attachments: TEZ-2391-1.patch, TEZ-2391.patch, 
> TestVertexImpl-output.txt
>
>
> For example, https://builds.apache.org/job/Tez-Build/1028/console



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

Reply via email to