Li Lu commented on YARN-3166:

Sent the message by mistake before I finish. Here's the rest part:

*Under hadoop-yarn-client*
{{o.a.h.yarn.client.api}}: TimelineClient for ATS v1, moved from 
o.a.h.yarn.client.api (common). Consistent with Yarn/NM/AHS/AMRM clients. We 
may want to mark this class as deprecated. 
* TimelineClient

{{o.a.h.yarn.client.api.impl: TimelineClientImpl}} for ATS v1, moved from 
{{o.a.h.yarn.client.api.impl}} (in common). Consistent with Yarn/NM/AHS/AMRM 
* TimelineClientImpl

Note that currently we do not have plan to extend the v1 client to have async 

*Under hadoop-yarn-server*
{{o.a.h.yarn.server.timelineservice.aggregator}}: timeline service v2 
aggregator implementation (already checked in)
* BaseAggregatorService
* AppLevelAggregatorService
* AppLevelServiceManager (Singleton)
* AppLevelServiceProvider
* PerNodeAggregatorServer
* PerNodeAggregatorWebService

We may further refactor these classes, mainly some name changes. However, the 
basic structure is well-built here. 

{{o.a.h.yarn.server.timelineservice.reader}}: timeline service v2 reader 
* Reader
* ReaderManager (Singleton)
* ReaderManagerProvider

{{o.a.h.yarn.server.timelineservice.storage}}: basic storage layer 
implementations for both aggregators and readers
TimelineStorage: storage adapter for aggregators/readers, load storage impls 
* StorageImpl: shared interface for all timeline storages
* HBaseStorageImpl
* PhoenixStorageImpl
* InMemStorageImpl

Pluggable, so more storage implementations are possible. Each storage implement 
may create its own package to further organize itself. 

*Under hadoop-yarn-common*
For common YARN libraries. Modules/libraries added into this directory need to 
be decided on a case-by-case basis. 

> [Source organization] Decide detailed package structures for timeline service 
> v2 components
> -------------------------------------------------------------------------------------------
>                 Key: YARN-3166
>                 URL: https://issues.apache.org/jira/browse/YARN-3166
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Li Lu
>            Assignee: Li Lu
> Open this JIRA to track all discussions on detailed package structures for 
> timeline services v2. This JIRA is for discussion only.
> For our current timeline service v2 design, aggregator (previously called 
> "writer") implementation is in hadoop-yarn-server's:
> {{org.apache.hadoop.yarn.server.timelineservice.aggregator}}
> In YARN-2928's design, the next gen ATS reader is also a server. Maybe we 
> want to put reader related implementations into hadoop-yarn-server's:
> {{org.apache.hadoop.yarn.server.timelineservice.reader}}
> Both readers and aggregators will expose features that may be used by YARN 
> and other 3rd party components, such as aggregator/reader APIs. For those 
> features, maybe we would like to expose their interfaces to 
> hadoop-yarn-common's {{org.apache.hadoop.yarn.timelineservice}}? 
> Let's use this JIRA as a centralized place to track all related discussions. 

This message was sent by Atlassian JIRA

Reply via email to