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

Vinod Kumar Vavilapalli commented on YARN-3318:
-----------------------------------------------

bq. I think it is useful to split off CS changes into their own JIRA. We can 
strictly focus on the policy framework here.
You missed this, let's please do this.

bq. well, I'd actually talked Wangda Tan into SchedulerProcess So, we can chew 
on this a bit more & see where we go
SchedulerProcess is definitely misleading. It seems to point to a process that 
is doing scheduling. What you need is a Schedulable  / SchedulableEntity / 
Consumer etc. You could also say SchedulableProcess, but Process is way too 
overloaded.

bq.  The goal is to make this available quickly but iteratively, keeping the 
changes small but making them available for use and feedback. (..) We should 
grow it organically, gradually, iteratively, think of it is a facet of the 
policy framework hooked up and available but with more to follow
I agree to this, but we are not in a position to support the APIs, CLI, config 
names in a supportable manner yet. They may or may not change depending on how 
parent queue policies, limit policies evolve. For that reason alone, I am 
saying that (1) Don't make the configurations public yet, or put a warning 
saying that they are unstable and (2) don't expose them in CLI , REST APIs yet. 
It's okay to put in the web UI, web UI scraping is not a contract.

bq.     You add/remove applications to/from LeafQueue's policy but 
addition/removal of containers is an event...
bq. This has been factored differently along Wangda Tan's suggestion, it should 
now be consistent
It's a bit better now. Although we are hard-coding Containers. Can revisit this 
later.

Other comments
 - SchedulerApplicationAttempt.getDemand() should be private.
 - SchedulerProcess
    -- updateCaches() -> updateState() / updateSchedulingState() as that is 
what it is doing?
    -- getCachedConsumption() / getCachedDemand(): simply getCurrent*() ?
 - SchedulerComparator
  -- We aren't comparing Schedulers. Given the current name, it should have 
been SchedulerProcessComparator, but SchedulerProcess itself should be renamed 
as mentioned before.
  -- What is the need for reorderOnContainerAllocate () / 
reorderOnContainerRelease()?
 - Move all the comparator related classed into their own package.
 - SchedulerComparatorPolicy
  -- This is really a ComparatorBasedOrderingPolicy. Do we really see 
non-comparator based ordering-policy. We are unnecessarily adding two 
abstractions - adding policies and comparators.
  -- Use className.getName() instead of hardcoded strings like 
"org.apache.hadoop.yarn.server.resourcemanager.scheduler.policy.FifoComparator"

> Create Initial OrderingPolicy Framework, integrate with CapacityScheduler 
> LeafQueue supporting present behavior
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: YARN-3318
>                 URL: https://issues.apache.org/jira/browse/YARN-3318
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: scheduler
>            Reporter: Craig Welch
>            Assignee: Craig Welch
>         Attachments: YARN-3318.13.patch, YARN-3318.14.patch, 
> YARN-3318.17.patch, YARN-3318.34.patch, YARN-3318.35.patch, 
> YARN-3318.36.patch, YARN-3318.39.patch
>
>
> Create the initial framework required for using OrderingPolicies with 
> SchedulerApplicaitonAttempts and integrate with the CapacityScheduler.   This 
> will include an implementation which is compatible with current FIFO behavior.



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

Reply via email to