Rohith Sharma K S commented on YARN-5561:

Thanks [~sjlee0] [~gtCarrera9] [~varun_saxena] for reviewing patch.

On second thought, ultimate goal for YARN-5561 and YARN-5699 is to provide an 
easy way for YARN Web UI. It would be much helpful for YARN Web UI and also for 
the users who wants query containers/app-attempts from CLI if 
app-attempts/containers are in the form of ApplicationAttemptReport and 
ContainerReport format.

 Basically overall intention is to provide flexible REST API to users with 
which they can directly make use from response output rather than allowing them 
to parse the ATSv2 REST output. 

I think it would be good to take early decision rather than struggling at final 
stages which leads to many code changes in dependencies especialy YARN Web UI. 
Couple of approaches for providing a facility to convert TimelineEntity objects 
to respective YARN reports are
# Launch a  new web service i.e TimelineYARNEntityReaderWebServices along with 
TimelineReaderWebServices. This service would run as part of TimelienReader 
daemon.  This new service is just an translator to converting TimelineEntity 
object to corresponding YARN reports such as ApplicationAttemptReport or 
ContainerReport. And this service would contains new YARN specific entities 
which are exposed REST end points in this patch. Note that these REST end 
points return type are corresponding reports like AppAttemptsInfo. This 
approach can be modified/enhanced to pulling out of ATSv2 to separate daemon 
service OR can be start new service in RM itself with application history.
# For existing TimelineReaderWebServices, *change the return type* for newly 
added REST end points such as 
getAppAttempts/getAppAttempt/getContainers/getContainer with 
AppAttemptsInfo/AppAttemptInfo/ContainersInfo/ContainerInfo respectively. Cons 
to add in TimelienReader service is it becomes bit combination of ATS+YARN 
specific details. 

Thoughts.? This will bring down many of the JIRA like YARN-5561 YARN-5699 etc 
can be combined and avoided altogether .  
cc:/ [~vinodkv]

> [Atsv2] : Support for ability to retrieve apps/app-attempt/containers and 
> entities via REST
> -------------------------------------------------------------------------------------------
>                 Key: YARN-5561
>                 URL: https://issues.apache.org/jira/browse/YARN-5561
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelinereader
>            Reporter: Rohith Sharma K S
>            Assignee: Rohith Sharma K S
>         Attachments: 0001-YARN-5561.YARN-5355.patch, YARN-5561.02.patch, 
> YARN-5561.03.patch, YARN-5561.patch, YARN-5561.v0.patch
> ATSv2 model lacks retrieval of {{list-of-all-apps}}, 
> {{list-of-all-app-attempts}} and {{list-of-all-containers-per-attempt}} via 
> REST API's. And also it is required to know about all the entities in an 
> applications.
> It is pretty much highly required these URLs for Web  UI.
> New REST URL would be 
> # GET {{/ws/v2/timeline/apps}}
> # GET {{/ws/v2/timeline/apps/\{app-id\}/appattempts}}.
> # GET 
> {{/ws/v2/timeline/apps/\{app-id\}/appattempts/\{attempt-id\}/containers}}
> # GET {{/ws/v2/timeline/apps/\{app id\}/entities}} should display list of 
> entities that can be queried.  

This message was sent by Atlassian JIRA

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