[
https://issues.apache.org/jira/browse/TEZ-2669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15093505#comment-15093505
]
Siddharth Seth commented on TEZ-2669:
-------------------------------------
bq. The choice of not having Exception in the API's but then wrapping all
plugins inside wrapper classes to add an exception to the effective internal
signature seems incongruous. Simply having the Exception in the signature makes
things clear and informs implementations that its ok to throw an exception and
notify the framework vs forcing them to swallow any-and-all exceptions because
the method signature does not allow throwing exceptions.
It is different from signatures on other interfaces. However, I believe this
model works better since users have to think about how to handle Exceptions -
either catch and do something useful, or catch and throw a Runtime. The
framework cannot do the first part about doing something useful. As an example
- something like invokeRpc() throws IOException. This, with Exception on the
plugin signature, could end up being invoked once and the exception trickles
down to the framework. Without an exception on the plugin signature, the user
needs to decide on what to do - which could be a retry. I've also heard from
users that a 'generic throws Exception()' is not very useful.
bq. Could you please remind me why TaskCommunicator.java is inside tez-dag
instead of inside tez-api/serviceplugins like the rest of the plugins? And how
does Hive/LLAP end up implementing it in that state?
Primarily because of it's dependencies on IDs. Also things like TezEvent. All
of this needs to change at some point in the future. LLAP depends on tez-dag to
implement it's own TaskCommunicator.
[~zjffdu], [~bikassaha], [~hitesh] - any other comments?
> Propagation of errors from plugins to the AM for error reporting
> ----------------------------------------------------------------
>
> Key: TEZ-2669
> URL: https://issues.apache.org/jira/browse/TEZ-2669
> Project: Apache Tez
> Issue Type: Sub-task
> Affects Versions: 0.8.0-alpha
> Reporter: Siddharth Seth
> Assignee: Siddharth Seth
> Priority: Blocker
> Attachments: TEZ-2669.1.txt, TEZ-2669.2.txt, TEZ-2669.3.txt
>
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)