[
https://issues.apache.org/jira/browse/TEZ-2745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14726823#comment-14726823
]
Jeff Zhang edited comment on TEZ-2745 at 9/2/15 6:24 AM:
---------------------------------------------------------
* from a quick look at the patch, I dont see any public apis needing to change
to add a "throws TezException" - can you confirm?
Some public classes are changed to add "throws TezException", but they are
annotated as private, so backward compatibility is not broken.
* Also, all the code calling into user plugins should be doing a "catch
(Exception e)" and not catch TezException. TezException only handles the
specific exception thrown by ReflectionUtils but does not catch exceptions
thrown by the user code itself i.e. the constructor could throw a completely
different exception.
This can be caught in ReflectionUtils. Because the user constructor is not
called explicitly. it is invoked by reflection.
was (Author: zjffdu):
* from a quick look at the patch, I dont see any public apis needing to change
to add a "throws TezException" - can you confirm?
Some public classes are changed to add "throws TezException", but they are
annotated as private, so backward compatibility is not broken.
* Also, all the code calling into user plugins should be doing a "catch
(Exception e)" and not catch TezException. TezException only handles the
specific exception thrown by ReflectionUtils but does not catch exceptions
thrown by the user code itself i.e. the constructor could throw a completely
different exception.
This can be caught in ReflectionUtil. Because the user constructor is not
called explicitly. it is invoked by reflection.
> 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)