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

Jeff Zhang commented on TEZ-2745:
---------------------------------

bq. As an example of cleanup - InputInitializer, VertexManagerPlugin, 
EdgeManagerPlugin - none of these have a close() method. If an exception 
originates from one of these sources - or for that matter the DAG fails for any 
other reason, there's no explicit call to clean up these plugins. If any of 
them happened to have started a thread - that may not get cleaned up.

That's a good point of user code resource clean up.  For the resources that  
tez framework created, we will clean up them in the normal state machine 
transition (like thread used by InputInitialzier). But if user create some 
external resources in the user code which are out of our control, it could 
cause resource leakage. Having a close() method would be good.   Create 
TEZ-2753 to track this. 

> ClassNotFoundException of user code should fail dag
> ---------------------------------------------------
>
>                 Key: TEZ-2745
>                 URL: https://issues.apache.org/jira/browse/TEZ-2745
>             Project: Apache Tez
>          Issue Type: Bug
>    Affects Versions: 0.7.0, 0.5.4, 0.6.2, 0.8.0-alpha
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>         Attachments: TEZ-2745-1.patch, TEZ-2745-2.patch
>
>
> This ClassNotFoundException is not captured now. The current behavior is AM 
> crashed and relaunched again until max app attempt is reached. 
> Here's user code used in AM:
> * EdgeManager
> * VertexManager
> * InputInitializer
> * OutputCommitter
> * Other user pluggable components (like DAGScheduler, HistoryServiceLogging 
> etc.)



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

Reply via email to