You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "Jeff Zhang (JIRA)" <ji...@apache.org> on 2015/05/20 07:18:00 UTC

[jira] [Comment Edited] (TEZ-1273) Refactor DAGAppMaster to state machine based

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

Jeff Zhang edited comment on TEZ-1273 at 5/20/15 5:17 AM:
----------------------------------------------------------

[~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 which may be a little confusing.  Because we need to allow user to submit another dag when the previous dag is completed but the its dag clean up has not 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


was (Author: zjffdu):
[~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 which may be a little confusing.  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, DAGAppMaster_4.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)