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

Jason Lowe commented on TEZ-3097:
---------------------------------

Sorry, I should have been more clear.   The unit test is trying to test DAG 
commit.  In order for a DAG to commit, all the vertices need to succeed.  
Therefore we should not be trying to schedule tasks beyond the DAG completion 
in the context of this test, since that means a vertex succeeded before it 
started scheduling tasks.  In other words, the unit test is not doing a good 
job of emulating what a real DAG does when it tries to commit.

In practice, yes, a DAG can enter a terminal state while vertices could still 
be asynchronously trying to schedule, but I don't think that's an error.  
Eventually the vertices will receive kill events from the dag and they in turn 
will issue kill events to any tasks that were scheduled.  The history handler 
should have no issue recording these events which may occur after the dag 
completion event.  It only causes an issue in this test because the test is not 
prepared to receive history events after the dag completes (again because it 
poorly emulates what a DAG does to get to the commit stage).

> Flaky test: TestCommit.testDAGCommitStartedEventFail_OnDAGSuccess
> -----------------------------------------------------------------
>
>                 Key: TEZ-3097
>                 URL: https://issues.apache.org/jira/browse/TEZ-3097
>             Project: Apache Tez
>          Issue Type: Bug
>    Affects Versions: 0.8.3
>            Reporter: Jeff Zhang
>            Assignee: Harish Jaiprakash
>
> {noformat}
> testDAGCommitStartedEventFail_OnDAGSuccess(org.apache.tez.dag.app.dag.impl.TestCommit)
>   Time elapsed: 0.072 sec  <<< ERROR!
> java.util.ConcurrentModificationException: null
>       at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:859)
>       at java.util.ArrayList$Itr.next(ArrayList.java:831)
>       at 
> org.apache.tez.dag.app.dag.impl.TestCommit$MockHistoryEventHandler.verifyVertexCommitStartedEvent(TestCommit.java:2033)
>       at 
> org.apache.tez.dag.app.dag.impl.TestCommit.testDAGCommitStartedEventFail_OnDAGSuccess(TestCommit.java:1880)
> {noformat}
> https://builds.apache.org/job/Tez-Build-Hadoop-2.4/245/console



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

Reply via email to