[
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 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. 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)