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

Bikas Saha edited comment on TEZ-1145 at 5/22/14 11:01 PM:
-----------------------------------------------------------

Attaching patch
1) Vertex on init notes down uninitialized edges
2) When edge is initialized with edge manager then it notifies the vertices 
about it
3) New EdgeInitializedTransition in Vertex handles this notification. Please 
ignore other changes in the state machine. I moved around transitions so that 
they are co-located correctly.
4) EdgeInitializedTransition and SourceVertexStartedTransition both use new 
common method to determine is all vertices and edges are ready. Then start is 
done.
5) StartTransition by itself also checks for this condition because the DAG can 
send V_START directly to the initial vertex and initial vertex may have an 
uninitialized edge to its target.
6) Tests added for all cases
NullEdgeManager was removed mainly because impeding clear code and testing in 
TestVertexImpl.
Recovery should be fine since during recovery when the edge manager will be set 
then the new transition will be invoked to do the correct book-keeping. As long 
as recovery calls the standard INIT/START transitions we should be fine.


was (Author: bikassaha):
Attaching patch
1) Vertex on init notes down uninitialized edges
2) When edge is initialized with edge manager then it notifies the vertices 
about it
3) New EdgeInitializedTransition in Vertex handles this notification. Please 
ignore other changes in the state machine. I moved around transitions so that 
they are co-located correctly.
4) EdgeInitializedTransition and SourceVertexStartedTransition both use new 
common method to determine is all vertices and edges are ready. Then start is 
done.
5) StartTransition by itself also checks for this condition because the DAG can 
send V_START directly to the initial vertex and initial vertex may have an 
uninitialized edge to its target.
6) Tests added for all cases

> Vertices should not start if they have uninitialized custom edges
> -----------------------------------------------------------------
>
>                 Key: TEZ-1145
>                 URL: https://issues.apache.org/jira/browse/TEZ-1145
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: Daniel Dai
>            Assignee: Bikas Saha
>         Attachments: TEZ-1145.1.patch
>
>
> If the vertex is connected to a custom edge and the edge manager has not been 
> set yet, then that vertex should not start. If it does then it will end up 
> starting tasks that dont have all their specifications identified.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to