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

Junping Du commented on YARN-7138:
----------------------------------

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: Blocker
>
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to