[
https://issues.apache.org/jira/browse/TEZ-2745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14728534#comment-14728534
]
Jeff Zhang commented on TEZ-2745:
---------------------------------
bq. maybe file a follow up jira for such as serviceInit or start errors to be
considered fatal but also result in diagnostics to be updated in YARN similar
to client-AM version mismatch when such as class not found errors happen.
Create TEZ-2772 for that
bq. change to catch Exception instead of catch TezException to be more safe?
bq. any reason why only TezException is being caught ( I understand that we are
only invoking ReflectionUtils ) ? Will all RuntimeException and IOExceptions
from user code be caught and handled correctly?
All the user code related exceptions (including ClassNotFound & exception from
constructor) are caught in ReflectionUtils, if there's any other exception we
miss that should be tez framework error. And in this case I think that should
make AM shutdown rather than fail the dag. (currently it would cause exception
in Dispatcher thread and shutdown AM.
> 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, TEZ-2745-3.patch,
> TEZ-2745-4.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)