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

Sangjin Lee commented on YARN-4356:
-----------------------------------

Thanks for your review [~gtCarrera9].

bq. I noticed in some files we're verifying v2 in a hard-coded fashion (version 
== 2). Why do we still need this especially when we have 
timelineServiceV2Enabled()?

The only reason for them is because timelineServiceV2Enabled() is 
timelineServiceEnabled() + (timelineServiceVersion == 2). In those cases, 
timelineServiceEnabled() was already checked. Thus, as a (small) optimization I 
just checked the version directly. Having said that, I'm comfortable with 
changing them to call timelineServiceV2Enabled() even though it may check 
timelineServiceEnabled() one extra time. I'll make those changes.

bq. That is, if the timeline-service.version is set to 2.x in future, are the 
applications allowed to use other versions of ATS?

It should be possible in principle with the assumption that some compatibility 
mechanism is in place so an old API invocation can succeed. The config is there 
to discover what's running on the cluster. If there is a compatibility 
mechanism, applications may invoke a different API (it's entirely up to them at 
that point).

bq. ApplicationMaster, function names "...OnNewTimelineService" can be more 
specific like "...V2"?

Sounds good. I didn't rename methods as part of this work, but let me see if I 
can rename them to use "v2".

bq. ContainerManagerImpl, I just want to double check one behavior: the SMP is 
enabled for the NM only when timeline version is v2 and SMP is enabled in the 
config? What about v1.x versions? If this is a v2 only feature, shall we 
clarify that in the log message?

The v.1 behavior should be essentially the same as today. The existing v.1 
behavior is to check TIMELINE_SERVICE_ENABLED and then 
RM_SYSTEM_METRICS_PUBLISHER_ENABLED. You'll see that the current patch checks 
TIMELINE_SERVICE_ENABLED, TIMELINE_SERVICE_VERSION == 1, and 
RM_SYSTEM_METRICS_PUBLISHER_ENABLED. I do see that it's checking strictly for 
version = 1. I'll change it to check for version < 2 so it can match 1.5 as 
well.

> ensure the timeline service v.2 is disabled cleanly and has no impact when 
> it's turned off
> ------------------------------------------------------------------------------------------
>
>                 Key: YARN-4356
>                 URL: https://issues.apache.org/jira/browse/YARN-4356
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>    Affects Versions: YARN-2928
>            Reporter: Sangjin Lee
>            Assignee: Sangjin Lee
>            Priority: Critical
>              Labels: yarn-2928-1st-milestone
>         Attachments: YARN-4356-feature-YARN-2928.002.patch, 
> YARN-4356-feature-YARN-2928.003.patch, 
> YARN-4356-feature-YARN-2928.poc.001.patch
>
>
> For us to be able to merge the first milestone drop to trunk, we want to 
> ensure that once disabled the timeline service v.2 has no impact from the 
> server side to the client side. If the timeline service is not enabled, no 
> action should be done. If v.1 is enabled but not v.2, v.1 should behave the 
> same as it does before the merge.



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

Reply via email to