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

Sangjin Lee commented on YARN-3030:
-----------------------------------

Thanks for the comments [~zjshen]. Some response below.

bq. I can see BaseAggregatorService is the abstraction for the latter piece. 
However, for the former piece we don't have such kind of abstraction, but the 
implementation embedded in the per-node aggregator.

I believe we're basically on the same page. Actually the intent is that 
BaseAggregatorService *is* the place for the abstraction for the former. It's 
just that that piece is left unimplemented mostly due to the fact that the 
object model has not been finalized/implemented (see 
BaseAggregatorService#postEntities and 
BaseAggregatorService#postEntitiesAsync). The idea is that 
BaseAggregatorService should really include all the common and generic logic of 
the timeline aggregator, and the app-level aggregator and the per-node 
aggregator on top (and also the future RM aggregator) would be pretty thin 
extensions.

The reason why the per-node aggregator is the REST endpoint and not 
BaseAggregatorService is because there may be multiple BaseAggregatorService 
instances that can be instantiated dynamically inside a per-node aggregator. 
For simplicity, the entry point (per-node aggregator) is the REST endpoint, but 
its job is to simply route the calls to the right base aggregator service and 
manage their lifecycle as they come and go.

Hope these answer your feedback. Let me know.

bq. For per-node aggregator, we make want to implement {{AuxiliaryService}} 
interface, such that it can be installed to NM as the auxiliary service.

Sounds good. Let me work on that. So it would be instead of extending the 
{{CompositeService}}, correct?

> set up ATS writer with basic request serving structure and lifecycle
> --------------------------------------------------------------------
>
>                 Key: YARN-3030
>                 URL: https://issues.apache.org/jira/browse/YARN-3030
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>            Reporter: Sangjin Lee
>            Assignee: Sangjin Lee
>         Attachments: YARN-3030.001.patch
>
>
> Per design in YARN-2928, create an ATS writer as a service, and implement the 
> basic service structure including the lifecycle management.
> Also, as part of this JIRA, we should come up with the ATS client API for 
> sending requests to this ATS writer.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to