Varun Saxena commented on YARN-3051:

[~sjlee0], [~zjshen],

As per the data model and considering aggregation will be done at the time of 
writing, API for getting entities will change to something like below.
Here, filters would match with TimelineEntity#info.
fromTS is as per Timeline v1. 
  TimelineEntities getEntities(String entityType,
      Long limit, Long windowStart, Long windowEnd, String fromId, Long fromTs,
      Collection<NameValuePair> filters, EnumSet<Field> fieldsToRetrieve) 
throws IOException;

IIUC, user as well as application id should be part of info in entity of type 
YARN_APPLICATION. Or alternatively application id can be equal to 
TimelineEntity id.
So, for a query like get all apps for a user we can simply match with info 
field of entities of type YARN_APPLICATION.
And if I want to know metrics such as number of application run by a user, I 
will get it from entity of type YARN_USER.
Correct me if I am wrong,

Also do we need to return the whole parent child hierarchy if client wants  
detailed info ? As per current code, immediate parent and child Entity 
identifiers will be returned.

Moreover, will entity modified time be a factor while querying ?

> [Storage abstraction] Create backing storage read interface for ATS readers
> ---------------------------------------------------------------------------
>                 Key: YARN-3051
>                 URL: https://issues.apache.org/jira/browse/YARN-3051
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>            Reporter: Sangjin Lee
>            Assignee: Varun Saxena
> Per design in YARN-2928, create backing storage read interface that can be 
> implemented by multiple backing storage implementations.

This message was sent by Atlassian JIRA

Reply via email to