Sangjin Lee commented on YARN-3623:

4. Can raise new jira and handle REST interface support to get the supported 
ATS version and config from the server for ATS 1.5
5. Can raise new jira and handle version checking for the ATSv2 interface 
methods in TimelineClient.and also fetching of version

In my mind, trying to get the version by querying the REST interface seems 
highly problematic. If we're going to have a configuration that clearly spells 
out which version the cluster is running, why not rely on that config? Is there 
a reason to believe that may not be correct?

In terms of issues of querying the REST interface for the version, first, the 
write URLs are not really feasible. V.1.5 may not even have the write REST 
endpoint up. For v.2, you really need to first discover the right URL (i.e. 
server) to talk to. You do it anyway, but that's only to know which endpoint to 
talk to, not to discover which version it needs to use.

Even if we were to use the read REST endpoint, it would mean that the timeline 
client code would need to contact the list of all known version URLs one at a 
time to see which read endpoint is up and running. It sounds to me that it can 
be unnecessarily flaky and harder than it needs to be.

I think it makes sense to rely on the version config, and not worry about 
querying it live. I don't see added value, and config will only be simpler and 
more robust. Have I missed any important point?

> We should have a config to indicate the Timeline Service version
> ----------------------------------------------------------------
>                 Key: YARN-3623
>                 URL: https://issues.apache.org/jira/browse/YARN-3623
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: timelineserver
>            Reporter: Zhijie Shen
>            Assignee: Xuan Gong
>         Attachments: YARN-3623-2015-11-19.1.patch
> So far RM, MR AM, DA AM added/changed new config to enable the feature to 
> write the timeline data to v2 server. It's good to have a YARN 
> timeline-service.version config like timeline-service.enable to indicate the 
> version of the running timeline service with the given YARN cluster. It's 
> beneficial for users to more smoothly move from v1 to v2, as they don't need 
> to change the existing config, but switch this config from v1 to v2. And each 
> framework doesn't need to have their own v1/v2 config.

This message was sent by Atlassian JIRA

Reply via email to