[ https://issues.apache.org/jira/browse/YARN-4183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14999697#comment-14999697 ]
Li Lu commented on YARN-4183: ----------------------------- Thanks [~vinodkv]! I agree we should find some better ways to organize \*.enabled in ATS (we've got two different versions in our code base and will add two more). For end users, we need to provide mechanisms to distinguish at least 3 versions of ATS API calls, v1, 1.5, and v2 in future. bq. There should be an explicit yarn.timeline-service.version which tells YarnClient to get tokens or not - yes for non-present version (default), v1, v2 but no for v1.5. bq. The version field has semantics on both client and server side at the same time - it's picking a solution end-to-end. IIUC, the newly proposed {{yarn.timeline-service.version}} supports a sanity check mechanism: each API should check if the current running ATS's version is equal to or higher than it's required version. For example, when a ATS v1.5 API is called, but {{yarn.timeline-service.version}} is set to v1, it should simply throw an exception. We can also decide if we need to get tokens or not in YARN client by checking this version number. We can distinguish API versions through their names. We need to keep the V1 APIs unchanged, but add V15 and V2 after the new APIs to clarify their API version. Inside each V15 and V2 API we can perform the sanity check. Let's make the {{yarn.timeline-service.version}} change here. We can modify V1.5 APIs in YARN-4233/YARN-4234 and V2 APIs as a subtask of YARN-2928. I can open a new subtask in YARN-2928 to fix this for V2. > Enabling generic application history forces every job to get a timeline > service delegation token > ------------------------------------------------------------------------------------------------ > > Key: YARN-4183 > URL: https://issues.apache.org/jira/browse/YARN-4183 > Project: Hadoop YARN > Issue Type: Bug > Affects Versions: 2.7.1 > Reporter: Mit Desai > Assignee: Mit Desai > Fix For: 3.0.0, 2.8.0, 2.7.2 > > Attachments: YARN-4183.1.patch > > > When enabling just the Generic History Server and not the timeline server, > the system metrics publisher will not publish the events to the timeline > store as it checks if the timeline server and system metrics publisher are > enabled before creating a timeline client. > To make it work, if the timeline service flag is turned on, it will force > every yarn application to get a delegation token. > Instead of checking if timeline service is enabled, we should be checking if > application history server is enabled. -- This message was sent by Atlassian JIRA (v6.3.4#6332)