[
https://issues.apache.org/jira/browse/YARN-875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13710207#comment-13710207
]
Zhijie Shen commented on YARN-875:
----------------------------------
IMHO, users know best about the implementations of CallbackHandler APIs.
They're supposed to handle all the possible exceptions with the scope of the
callback methods. In contrast, AMRMClientAsync cannot judge how severe the
runtime exception is. I'm afraid stopping the callback thread is too harsh
given a minor or fixable exception. In addition, for example, if onError()
throws a RuntimeException for some reason and the exception is not ignored,
onError() will keep handle and throw a new one circularly.
Another consideration is that CallbackHandlers of AMRMClientAsync and
NMClientAsync are good to have consistent behavior.
> Application can hang if AMRMClientAsync callback thread has exception
> ---------------------------------------------------------------------
>
> Key: YARN-875
> URL: https://issues.apache.org/jira/browse/YARN-875
> Project: Hadoop YARN
> Issue Type: Bug
> Affects Versions: 2.1.0-beta
> Reporter: Bikas Saha
> Assignee: Xuan Gong
> Attachments: YARN-875.1.patch, YARN-875.1.patch, YARN-875.2.patch
>
>
> Currently that thread will die and then never callback. App can hang.
> Possible solution could be to catch Throwable in the callback and then call
> client.onError().
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira