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

Jeff Zhang commented on TEZ-1273:
---------------------------------

[~hitesh] Please help review it. 
* Please check the attachment for the state machine details 
(DAGAppMaster_4.pdf). 
** One ugly case is the DAG_CLEANUP_TRANSITION, it can happens both in IDLE and 
RUNNING.  Because we need to allow user to submit another dag when the previous 
dag is completed but the its dag clean up has been done.
** remove the synchronized, use writelock instead.

* Use RunningAppContext#isDAGRunning to replace RunningAppContext#getAMState. 
This is to resolve the deadlock issue in TEZ-2359. 
* Unit test is added in TestMockDAGAppMaster

> Refactor DAGAppMaster to state machine based
> --------------------------------------------
>
>                 Key: TEZ-1273
>                 URL: https://issues.apache.org/jira/browse/TEZ-1273
>             Project: Apache Tez
>          Issue Type: Improvement
>    Affects Versions: 0.4.0
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>         Attachments: DAGAppMaster_3.pdf, TEZ-1273-3.patch, TEZ-1273-4.patch, 
> TEZ-1273-5.patch, TEZ-1273-6.patch, TEZ-1273-7.patch, Tez-1273-2.patch, 
> Tez-1273.patch, dag_app_master.pdf, dag_app_master2.pdf
>
>
> Almost all our entities (Vertex, Task etc) are state machine based and 
> written using a formal state machine. But DAGAppMaster is not written on a 
> formal state machine even though it has a state machine based behavior. This 
> jira is for refactoring it into state machine based



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

Reply via email to