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

Junping Du edited comment on YARN-7138 at 8/31/17 8:12 PM:
-----------------------------------------------------------

Thanks [~leftnoteasy] for reply. I will downgrade this JIRA's priority to 
unblock current progressing releases - as Wangda point out, this API is not get 
public in our API doc.

While I agree in API definition it is a private one (as all yarn-server APIs) 
so far. However, my second thoughts is we make YarnSchduler pluggable since 
long time ago to build ecosystem for third parties to enhance/improve 
schedulers on their scheduling scenario. Making resource scheduler pluggable 
has been a long time strategy for hadoop even before YARN comes out. Other 
competitive resource scheduling systems (like K8S, etc.) also has similar 
design. I don't know since when CS and FS scheduler is the only option for 
hadoop YARN but this break our promise to make scheduler pluggable - yes. 
current yarn is still pluggable but if every upgrade can potentially breaking 
third-party schedulers (given no guarantee of stable) then what this pluggable 
meaning for?


was (Author: djp):
Thanks [~leftnoteasy] for reply. I agree in API definition it is a private one 
(as all yarn-server APIs). However, my second thoughts is we make YarnSchduler 
pluggable since long time ago to build ecosystem for third parties to 
enhance/improve schedulers on their scheduling scenario. Making resource 
scheduler pluggable has been a long time strategy for hadoop even before YARN 
comes out. Other competitive resource scheduling systems (like K8S, etc.) also 
has similar design. I don't know since when CS and FS scheduler is the only 
option for hadoop YARN but this break our promise to make scheduler pluggable - 
yes. current yarn is still pluggable but if every upgrade breaking third-party 
schedulers then what this pluggable meaning for?
On the other side, I also check our history between 2.4 to 2.7.3 ( 
https://builds.apache.org/job/Hadoop-2.8-JACC/383/) and found out we indeed 
break the same API at least once (or multiple times). so I will downgrade this 
JIRA's priority to unblock current release and at the same time mark YARN-5521 
as incompatible changes.
I believe since Hadoop 3, we should stabilize this API (and mark as public) to 
make YARN scheduler real pluggable. I will start discussion thread on our dev 
list soon.

> Fix incompatible API change for YarnScheduler involved by YARN-5521
> -------------------------------------------------------------------
>
>                 Key: YARN-7138
>                 URL: https://issues.apache.org/jira/browse/YARN-7138
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: scheduler
>            Reporter: Junping Du
>            Priority: Critical
>
> From JACC report for 2.8.2 against 2.7.4, it indicates that we have 
> incompatible changes happen in YarnScheduler:
> {noformat}
> hadoop-yarn-server-resourcemanager-2.7.4.jar, YarnScheduler.class
> package org.apache.hadoop.yarn.server.resourcemanager.scheduler
> YarnScheduler.allocate ( ApplicationAttemptId p1, List<ResourceRequest> p2, 
> List<ContainerId> p3, List<String> p4, List<String> p5 ) [abstract]  :  
> Allocation 
> {noformat}
> The root cause is YARN-5221. We should change it back or workaround this by 
> adding back original API (mark as deprecated if not used any more).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to