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

Haibo Chen edited comment on YARN-5269 at 3/22/17 10:48 PM:
------------------------------------------------------------

Per offline discussion with [~vrushalic] and [~jrottinghuis] in the last weekly 
sync, in case of putEntities() requests, exceptions can happen even after data 
is already persisted in the backend (i.e., putEntities() throws exception means 
the data may have not been written to the backend),  so TimelineClients always 
need to make sure the data they send is idempotent if they ever want to retry.  
Whether we want to throw an exception only if an error occurred specifically 
because of the particular entities, or just in any case where there was a 
problem writing a whole batch, is another question. The error we can get from 
HBase may be too corse to let us provide errors on a per entitiy basis. 
[~vrushalic] [~jrottinghuis] Please correct me any of my misunderstanding.




was (Author: haibochen):
Per offline discussion with [~vrushalic] and [~jrottinghuis] in the last weekly 
sync, in case of putEntities() requests, exceptions can happen even after data 
is already persisted in the backend (i.e., putEntities() throws exception means 
the data may have not been written to the backend),  so TimelineClients always 
need to make sure the data they send is idempotent if they ever want to retry.  
Whether we want to throw an exception only if an error occurred specifically 
because of the particular entities, or just in any case where there was a 
problem writing a whole batch, is another question. The error we can get from 
HBase may be too corse to let us enable per-entitiy error/exception. 
[~vrushalic] [~jrottinghuis] Please correct me any of my misunderstanding.



> Bubble exceptions and errors all the way up the calls, including to clients.
> ----------------------------------------------------------------------------
>
>                 Key: YARN-5269
>                 URL: https://issues.apache.org/jira/browse/YARN-5269
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>    Affects Versions: YARN-2928
>            Reporter: Joep Rottinghuis
>            Assignee: Haibo Chen
>              Labels: YARN-5355, yarn-5355-merge-blocker
>
> Currently we ignore (swallow) exception from the HBase side in many cases 
> (reads and writes).
> Also, on the client side, neither TimelineClient#putEntities (the v2 flavor) 
> nor the #putEntitiesAsync method return any value.
> For the second drop we may want to consider how we properly bubble up 
> exceptions throughout the write and reader call paths and if we want to 
> return a response in putEntities and some future kind of result for 
> putEntitiesAsync.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to