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

Zhijie Shen commented on YARN-875:
----------------------------------

+1 onError(Throwable). However, does it belong to the incompatible API changes?

Should we catch Throwable t? For example, RuntimeException can also break the 
callback thread. 
{code}
+        } catch (Exception ex) {
{code}
 
Another question is how AMRMClientAsync wants to handle RuntimeException from 
CallbackHandler APIs, though they're not supposed to throw Exception. What 
NMClientAsync does is to wrap try-catch for each calling of CallbackHanlder 
APIs, catching Throwable, logging and then ignoring it.
                
> 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

Reply via email to