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

Rohini Palaniswamy commented on TEZ-1117:
-----------------------------------------

[~bikassaha],
   We are not looking at a feature to terminate the session app when DAG fails. 
We would never be using it as we want to continue run and finish other DAGs 
even if one DAG fails as that is the default pig option unless specified. To 
the user it is still a failure and we don't report success. If user has 
specified to terminate on partial failure, we go kill the remaining hadoop jobs 
(or session in tez) ourselves.

In MR world user will go look at the failed MR jobs on partial failure or full 
failure and debug. That is why we want the Session App to show up as FAILED. 
This is more of user perception and usability. Most of the end users go and 
look at the hadoop jobs. They are not going to care/understand that the hadoop 
job shows successful as it was a session and may comprise of successful and 
failed dags as that is all internal details. To them it is confusing to see 
something that FAILED execution with status as SUCCEEDED and they think it is a 
bug and reported as such. I tried to explain why it is so, gave up and just 
ended up saying that it is a known issue and will be fixed later. The intent is 
just to try keep it simpler to user where something that failed shows up as 
failed, and something that was killed shows up as killed. 

bq. Beyond this, we can make more fine grained rules etc but I would like to 
avoid coding Pig exit status logic into Tez. If further combinations are 
needed, then we could think of allowing the user to specify final status in the 
session.shutdown() call.
   We would be ok with calling shutdown with some status. But I think that you 
will find this a common usecase (hive as well) that you should make it a 
default behavior. Also calling shutdown with status will still not handle the 
case of reporting failures if session times out.

bq. when to shutdown a session? i.e. when a DAG fails or only when a user 
invokes the shutdown?
    We are looking at shutting down the session ourselves or on timeout as is 
the current behavior.

bq. how is the final session status determined? If any dag fails, mark yarn app 
as failed? or mark yarn app as failed iff the session shutdown as a result of 
the last dag failing or some other fatal error? i.e a user initiated shutdown 
will never mark a session as failed?
   Looking for a user initiated shutdown, timeout or fatal error marking yarn 
app failed when one of the submitted dag is failed. Fatal error to me should be 
a failure even if there are only successful DAGs.

> Option to make YARN application failed on dag failure
> -----------------------------------------------------
>
>                 Key: TEZ-1117
>                 URL: https://issues.apache.org/jira/browse/TEZ-1117
>             Project: Apache Tez
>          Issue Type: Improvement
>            Reporter: Rohini Palaniswamy
>
> Can we have an configuration to make the Application status FAILED on 
> termination if one of the DAGs fail? It is very confusing  for users to see 
> the application SUCCEEDED.



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

Reply via email to