Hitesh Shah commented on YARN-2517:

Sorry for coming in late on this. Why is this needed? 

[~zjshen] [~ozawa] Is a callback layer back to the user really needed? How 
would the user make use of this callback information except maybe to log an 
error or fail the application? Also, is the timeline layer meant to eventually 
be reliable and always up? Let us say that sometime later, the timeline client 
started using some form of queueing/messaging layer to send the data to the 
server. When would a callback be invoked? When the data is written to the 
messaging layer or when the server actually processes the data? Implementing 
this now will inhibit the design down the line if it needs to retain the same 
semantics for the callback invocation ( which would be done today when the 
server finishes processing the data )

> Implement TimelineClientAsync
> -----------------------------
>                 Key: YARN-2517
>                 URL: https://issues.apache.org/jira/browse/YARN-2517
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Zhijie Shen
>            Assignee: Tsuyoshi OZAWA
>         Attachments: YARN-2517.1.patch, YARN-2517.2.patch
> In some scenarios, we'd like to put timeline entities in another thread no to 
> block the current one.
> It's good to have a TimelineClientAsync like AMRMClientAsync and 
> NMClientAsync. It can buffer entities, put them in a separate thread, and 
> have callback to handle the responses.

This message was sent by Atlassian JIRA

Reply via email to