[ 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)