Peter Bacsko commented on YARN-9930:


_"What about keeping it for this round, and after this jira is merged, work on 
a followup jira that refactors this and make an abstract parent class for 
CSMaxRunningAppsEnforcer MaxRunningAppsEnforcer?"_

Good question. Originally I started with a refactor to have a common code base 
for tracking the runnable apps. But it quickly became a nightmare because you 
have to wrap queue classes like FSLeafQueue/FSParentQueue + 
ParentQueue(CS)/LeafQueue(CS) because the current impl. is heavily dependent on 
FS. So you need an extra layer of indirection and type checks to select the 
correct class. I ended up with a lot of extra code which seriously hindered 

I think this is the case when it's more practical to have duplicate classes.


_"You also mentioned about a separate property named as 
'yarn.scheduler.capacity.maxrunningapps.reject' but I don't see it in the 
latest patch."_

Yeah, that's missing right now. It was an idea, which can be implemented if 
needed be. So we still have the maxApps check in-place, which comes first. If 
the submission passes this, then comes the maxParallelApps check by 
{{CSMaxRunningAppsEnforcer}}. This keeps backward compatbility.

I can imagine that some users who migrate from FS actually don't like this 
behaviour because they see "maximum-applications" as a limitation. But we can 
discuss this later.

> Support max running app logic for CapacityScheduler
> ---------------------------------------------------
>                 Key: YARN-9930
>                 URL: https://issues.apache.org/jira/browse/YARN-9930
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: capacity scheduler, capacityscheduler
>    Affects Versions: 3.1.0, 3.1.1
>            Reporter: zhoukang
>            Assignee: zhoukang
>            Priority: Major
>         Attachments: YARN-9930-POC01.patch, YARN-9930-POC02.patch, 
> YARN-9930-POC03.patch, YARN-9930-POC04.patch, YARN-9930-POC05.patch
> In FairScheduler, there has limitation for max running which will let 
> application pending.
> But in CapacityScheduler there has no feature like max running app.Only got 
> max app,and jobs will be rejected directly on client.
> This jira i want to implement this semantic for CapacityScheduler.

This message was sent by Atlassian Jira

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