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

Varun Saxena commented on YARN-4224:
------------------------------------

To aid in tonight's discussion, I will jot down the REST endpoints added and 
points to discuss.
[~gtCarrera9], if you have suggestion on these endpoints, you can jot them down 
here as well. So that we can have a faster discussion during call.
* REST endpoints based on UID as per current patch are as under :
{panel}
*Query multiple flows* : Endpoint is */ws/v2/timeline/flows or 
/ws/v2/timeline/\{clusterid\}/flows*. This query will return a UID of the form 
*cluster:user:flowname* for each flow name.
*Query multiple flowruns* : Endpoint is */ws/v2/timeline/runs/\{flow UID\}* 
where flow UID is of the form *cluster:user:flowname* i.e. the one returned in 
query above. This query returns a UID of the form *cluster:user:flowname:runid* 
for each flow run.
*Query single flowrun* : Endpoint is */ws/v2/timeline/run/\{flowrun UID\}* 
where flowrun UID is of the form *cluster:user:flowname:runid* i.e. the one 
returned in query above. This query also returns a UID of the form 
*cluster:user:flowname:runid* for the flowrun returned. Is this required for 
Web UI ?
*Query multiple apps in a flowrun* : Endpoint is 
*/ws/v2/timeline/runapps/\{flowrun UID\}* where flowrun UID is of the form 
*cluster:user:flowname:runid*. runapps because we are querying apps within a 
flowrun. Hierarchical endpoint has one endpoint to query apps within a flow 
name as well. This query also returns a UID of the form 
*cluster:user:flowname:runid:appid* for each app returned.
*Query single app* : Endpoint is */ws/v2/timeline/app/\{app UID\}* where app 
UID is of the form *cluster:user:flowname:runid:appid* i.e. the one returned in 
query above.
*Query Entities* : Current endpoint is 
*/ws/v2/timeline/entities/\{entitytype\}/\{app UID\}*. Entity type is separate 
because we cannot know entity type when we query apps. This was decided to be 
endpoint when we had decided separator will not be public. Now as it will be 
public, endpoint can probably be */ws/v2/timeline/entities/\{app UID plus 
entity type\}* i.e. UID will be *cluster:user:flowname:runid:appid:entitytype*. 
But for this specific query, client needs to specifically do extra operation on 
UID returned in previous query, unlike other endpoints. This query also returns 
a UID of the form *cluster:user:flowname:runid:appid:entitytype:entityid* for 
each entity returned.
*Query Entity* : Endpoint is */ws/v2/timeline/entity/\{entity UID\}* where 
entity UID is of the form  
*cluster:user:flowname:runid:appid:entitytype:entityid*
{panel}

* Need to discuss pros and cons of filling UID inside storage layer and outside 
it.

We can add an endpoint for single flow once offline aggregation is done.

> Change the ATSv2 reader side REST interface to conform to current REST APIs' 
> in YARN
> ------------------------------------------------------------------------------------
>
>                 Key: YARN-4224
>                 URL: https://issues.apache.org/jira/browse/YARN-4224
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>    Affects Versions: YARN-2928
>            Reporter: Varun Saxena
>            Assignee: Varun Saxena
>              Labels: yarn-2928-1st-milestone
>         Attachments: YARN-4224-YARN-2928.01.patch, 
> YARN-4224-feature-YARN-2928.wip.02.patch
>
>




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

Reply via email to