public class FifoOrderingPolicyWithExclusivePartitions<S extends SchedulableEntity> extends Object implements OrderingPolicy<S>
FifoOrderingPolicy, but with separate ordering policies
for each partition in
yarn.scheduler.capacity.<queue-path>.ordering-policy.exclusive-enforced-partitions.| Constructor and Description |
|---|
FifoOrderingPolicyWithExclusivePartitions() |
| Modifier and Type | Method and Description |
|---|---|
void |
addAllSchedulableEntities(Collection<S> sc)
Add a collection of
SchedulableEntity objects to be managed for
allocation and preemption ordering. |
void |
addSchedulableEntity(S s)
Add a
SchedulableEntity to be managed for allocation and preemption
ordering. |
void |
configure(Map<String,String> conf)
Provides configuration information for the policy from the scheduler
configuration.
|
void |
containerAllocated(S schedulableEntity,
RMContainer r)
Notify the
OrderingPolicy that the SchedulableEntity
has been allocated the given RMContainer, enabling the
OrderingPolicy to take appropriate action. |
void |
containerReleased(S schedulableEntity,
RMContainer r)
Notify the
OrderingPolicy that the SchedulableEntity
has released the given RMContainer, enabling the
OrderingPolicy to take appropriate action. |
void |
demandUpdated(S schedulableEntity)
Notify the
OrderingPolicy that the demand for the
SchedulableEntity has been updated, enabling the
OrderingPolicy to reorder the SchedulableEntity if needed. |
Iterator<S> |
getAssignmentIterator(IteratorSelector sel)
Return an iterator over the collection of
SchedulableEntity
objects which orders them for container assignment. |
String |
getInfo()
Return information regarding configuration and status.
|
int |
getNumSchedulableEntities()
Get the number of
SchedulableEntity objects managed for allocation
and preemption ordering. |
Iterator<S> |
getPreemptionIterator()
Return an iterator over the collection of
SchedulableEntity
objects which orders them for preemption. |
Collection<S> |
getSchedulableEntities()
Get the collection of
SchedulableEntity Objects which are managed
by this OrderingPolicy - should include processes returned by the
Assignment and Preemption iterator with no guarantees regarding order. |
boolean |
removeSchedulableEntity(S s)
Remove a
SchedulableEntity from management for allocation and
preemption ordering. |
public FifoOrderingPolicyWithExclusivePartitions()
public Collection<S> getSchedulableEntities()
OrderingPolicySchedulableEntity Objects which are managed
by this OrderingPolicy - should include processes returned by the
Assignment and Preemption iterator with no guarantees regarding order.getSchedulableEntities in interface OrderingPolicy<S extends SchedulableEntity>SchedulableEntity objectspublic Iterator<S> getAssignmentIterator(IteratorSelector sel)
OrderingPolicySchedulableEntity
objects which orders them for container assignment.getAssignmentIterator in interface OrderingPolicy<S extends SchedulableEntity>sel - the IteratorSelector to filter withSchedulableEntity
objectspublic Iterator<S> getPreemptionIterator()
OrderingPolicySchedulableEntity
objects which orders them for preemption.getPreemptionIterator in interface OrderingPolicy<S extends SchedulableEntity>SchedulableEntitypublic void addSchedulableEntity(S s)
OrderingPolicySchedulableEntity to be managed for allocation and preemption
ordering.addSchedulableEntity in interface OrderingPolicy<S extends SchedulableEntity>s - the SchedulableEntity to addpublic boolean removeSchedulableEntity(S s)
OrderingPolicySchedulableEntity from management for allocation and
preemption ordering.removeSchedulableEntity in interface OrderingPolicy<S extends SchedulableEntity>s - the SchedulableEntity to removeSchedulableEntity was present before this
operationpublic void addAllSchedulableEntities(Collection<S> sc)
OrderingPolicySchedulableEntity objects to be managed for
allocation and preemption ordering.addAllSchedulableEntities in interface OrderingPolicy<S extends SchedulableEntity>sc - the collection of SchedulableEntity objects to addpublic int getNumSchedulableEntities()
OrderingPolicySchedulableEntity objects managed for allocation
and preemption ordering.getNumSchedulableEntities in interface OrderingPolicy<S extends SchedulableEntity>SchedulableEntity objectspublic void containerAllocated(S schedulableEntity, RMContainer r)
OrderingPolicyOrderingPolicy that the SchedulableEntity
has been allocated the given RMContainer, enabling the
OrderingPolicy to take appropriate action. Depending on the
comparator, a reordering of the SchedulableEntity may be required.containerAllocated in interface OrderingPolicy<S extends SchedulableEntity>schedulableEntity - the SchedulableEntityr - the allocated RMContainerpublic void containerReleased(S schedulableEntity, RMContainer r)
OrderingPolicyOrderingPolicy that the SchedulableEntity
has released the given RMContainer, enabling the
OrderingPolicy to take appropriate action. Depending on the
comparator, a reordering of the SchedulableEntity may be required.containerReleased in interface OrderingPolicy<S extends SchedulableEntity>schedulableEntity - the SchedulableEntityr - the released RMContainerpublic void demandUpdated(S schedulableEntity)
OrderingPolicyOrderingPolicy that the demand for the
SchedulableEntity has been updated, enabling the
OrderingPolicy to reorder the SchedulableEntity if needed.demandUpdated in interface OrderingPolicy<S extends SchedulableEntity>schedulableEntity - the updated SchedulableEntitypublic void configure(Map<String,String> conf)
OrderingPolicyconfigure in interface OrderingPolicy<S extends SchedulableEntity>conf - a map of scheduler configuration properties and valuespublic String getInfo()
OrderingPolicygetInfo in interface OrderingPolicy<S extends SchedulableEntity>Copyright © 2022 Apache Software Foundation. All rights reserved.