[
https://issues.apache.org/jira/browse/YARN-1471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13839483#comment-13839483
]
Carlo Curino commented on YARN-1471:
------------------------------------
The ProportionalCapacityPreemptionPolicy does indeed need to access methods
that are specific to the CapacityScheduler.
The three offending methods are:
* scheduler.getResourceCalculator();
* scheduler.getRootQueue(); (which is a CSQueue)
* scheduler.getClusterResources()
However more generally this policy only makes sense when paired with the
CapacityScheduler, so it needs somehow to check that the underlying scheduler
is indeed a CapacityScheduler.
This is coming up again in the work towards YARN-1051, as we have other
"monitors" interacting with the underlying scheduler, possibly in ways that are
specific to one specific scheduler.
Speaking with [~chris.douglas] we seem to agree that the simulator would be
much more useful if it allows to simulate specifics of each scheduler more than
just exercise the general API (specifically I would not use it otherwise), and
hacking the Scheduler API (and classes using it) to keep the abstraction in the
simulator clean doesn't seem to be a solution. This seems a job for aspect
programming... though it comes with its own set of headaches (see mumak).
Maybe the simulator could also hijack the creation of monitors, and pass down
the actual scheduler to those (assuming the rest of your metrics are collected
in methods not used by the monitor).
> The SLS simulator is not running the preemption policy for CapacityScheduler
> ----------------------------------------------------------------------------
>
> Key: YARN-1471
> URL: https://issues.apache.org/jira/browse/YARN-1471
> Project: Hadoop YARN
> Issue Type: Bug
> Reporter: Carlo Curino
> Assignee: Wei Yan
> Priority: Minor
>
> The simulator does not run the ProportionalCapacityPreemptionPolicy monitor.
> This is because the policy needs to interact with a CapacityScheduler, and
> the wrapping done by the simulator breaks this.
--
This message was sent by Atlassian JIRA
(v6.1#6144)