[ https://issues.apache.org/jira/browse/YARN-4224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15058215#comment-15058215 ]
Varun Saxena commented on YARN-4224: ------------------------------------ Coming to the implementation, this pretty much makes us get the entities in a hierarchical fashion i.e. first get flows, then runs, then apps, and then generic entities. Because we want server to decide the delimiter instead of us fixing it. This is fine for UI but in some use cases we might have to query app information directly. For instance, from CLI we fall back on AHS/ATS currently if app or containers are not found in RM. We have to do the same in ATSv2. In this case we have nothing to do with flows. And on the basis of user and app id(which we can have in YarnClient), ATSv2 can determine the flow context and complete the query. Similarly, for getting containers from CLI, all we need is user, app id and entity type(YARN_CONTAINER). So getting the hierarchy(starting from flows) wont be required here. We can construct UID by ourselves in client by fixing the delimiter globally. Or pick it up form a config file. Or have the hierarchical REST endpoints as well in addition to UID ones for such cases. Or have a uid endpoint. This needs to be discussed. cc [~sjlee0], [~djp]. Maybe we can discuss this in tomorrow's meeting as well. Also, when we get flows, we can return UID for each flowrun in response. For each flowrun then we can then query all apps. And then for each app have another UID attached. But when we query generic entities in ATSv2, we also have an extra parameter named entity type which we cannot send with each app(because generic entity type can be anything theoretically). So we can have endpoints for entities as {{/entities/\[entity_type\]/\[entities_UID\]}} where UID is the UID we got from app response. In UI we can hardcode the entity type(currently it would be containers and app attempts). Now for entity endpoint we can then have UID from result of entities endpoint. So entity type is not really required here. But should we have it for sake of consistency ? > 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 > > -- This message was sent by Atlassian JIRA (v6.3.4#6332)