[
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]