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