Class FairScheduler
java.lang.Object
org.apache.hadoop.service.AbstractService
org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler<FSAppAttempt,FSSchedulerNode>
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.hadoop.service.Service,org.apache.hadoop.yarn.event.EventHandler<SchedulerEvent>,Recoverable,ResourceScheduler,YarnScheduler
@LimitedPrivate("yarn")
@Unstable
public class FairScheduler
extends AbstractYarnScheduler<FSAppAttempt,FSSchedulerNode>
A scheduler that schedules resources between a set of queues. The scheduler
keeps track of the resources used by each queue, and attempts to maintain
fairness by scheduling tasks at queues whose allocations are farthest below
an ideal fair distribution.
The fair scheduler supports hierarchical queues. All queues descend from a
queue named "root". Available resources are distributed among the children
of the root queue in the typical fair scheduling fashion. Then, the children
distribute the resources assigned to them to their children in the same
fashion. Applications may only be scheduled on leaf queues. Queues can be
specified as children of other queues by placing them as sub-elements of
their parents in the fair scheduler configuration file.
A queue's name starts with the names of its parents, with periods as
separators. So a queue named "queue1" under the root named, would be
referred to as "root.queue1", and a queue named "queue2" under a queue
named "parent1" would be referred to as "root.parent1.queue2".
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler
AbstractYarnScheduler.ContainerObjectTypeNested classes/interfaces inherited from interface org.apache.hadoop.service.Service
org.apache.hadoop.service.Service.STATE -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanstatic final org.apache.hadoop.yarn.api.records.Resourceprotected booleanDeprecated.protected intDeprecated.protected intprotected longDeprecated.protected doubleprotected longDeprecated.protected doubleprotected booleanFields inherited from class org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler
activitiesManager, applications, EMPTY_ALLOCATION, lastNodeUpdateTime, minimumAllocation, nmExpireInterval, nmHeartbeatInterval, nodeTracker, readLock, rmContext, schedulerHealth, schedulingMonitorManager, THREAD_JOIN_TIMEOUT_MS, updateInterval, writeLock -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId, String queueName, String user, boolean isAppRecovering, ApplicationPlacementContext placementContext) Add a new application to the scheduler, with a given id, queue name, and user.protected voidaddApplicationAttempt(org.apache.hadoop.yarn.api.records.ApplicationAttemptId applicationAttemptId, boolean transferStateFromPreviousAttempt, boolean isAttemptRecovering) Add a new application attempt to the scheduler.allocate(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId, List<org.apache.hadoop.yarn.api.records.ResourceRequest> ask, List<org.apache.hadoop.yarn.api.records.SchedulingRequest> schedulingRequests, List<org.apache.hadoop.yarn.api.records.ContainerId> release, List<String> blacklistAdditions, List<String> blacklistRemovals, ContainerUpdates updateRequests) The main API between the ApplicationMaster and the Scheduler.booleancheckAccess(org.apache.hadoop.security.UserGroupInformation callerUGI, org.apache.hadoop.yarn.api.records.QueueACL acl, String queueName) Check if the user has permission to perform the operation.longcheckAndGetApplicationLifetime(String queueName, long lifetime, RMAppImpl app) Verify whether a submitted application lifetime is valid as per configured Queue lifetime.protected voidcompletedContainerInternal(RMContainer rmContainer, org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus, RMContainerEventType event) Clean up a completed container.protected voidList<org.apache.hadoop.yarn.api.records.ApplicationAttemptId>getAppsInQueue(String queueName) Gets the apps under a given queuegetConf()intDeprecated.org.apache.hadoop.yarn.api.records.Resourceorg.apache.hadoop.yarn.api.records.ResourcegetMaximumResourceCapability(String queueName) Get maximum allocatableResourcefor the queue specified.longDeprecated.linked toisContinuousSchedulingEnabled()deprecationdoubleorg.apache.hadoop.yarn.api.records.ResourcegetNormalizedResource(org.apache.hadoop.yarn.api.records.Resource requestedResource, org.apache.hadoop.yarn.api.records.Resource maxResourceCapability) Normalize a resource request using scheduler level maximum resource or queue based maximum resource.intGet the number of nodes available in the cluster.intgetNumNodesInRack(String rackName) Gets the list of names for queues managed by the Reservation System.org.apache.hadoop.yarn.api.records.QueueInfogetQueueInfo(String queueName, boolean includeChildQueues, boolean recursive) Get queue information.List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo>Get acls for queues for current user.longDeprecated.linked toisContinuousSchedulingEnabled()deprecationdoublefloatorg.apache.hadoop.yarn.util.resource.ResourceCalculatorGet the root queue for the scheduler.getSchedulerApp(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId) EnumSet<org.apache.hadoop.yarn.proto.YarnServiceProtos.SchedulerResourceTypes>Return a collection of the resource types that are considered when schedulingvoidhandle(SchedulerEvent event) booleanisAtLeastReservationThreshold(org.apache.hadoop.yarn.util.resource.ResourceCalculator resourceCalculator, org.apache.hadoop.yarn.api.records.Resource resource) booleanDeprecated.Continuous scheduling should not be turned ON.booleanbooleanvoidkillContainer(RMContainer container) Kill a RMContainer.moveApplication(org.apache.hadoop.yarn.api.records.ApplicationId appId, String queueName) Moves the given application to the given queue.protected voidnodeUpdate(RMNode nm) Process a heartbeat update from a node.voidpreValidateMoveApplication(org.apache.hadoop.yarn.api.records.ApplicationId appId, String newQueue) Perform pre-checks while moving the application.voidrecover(RMStateStore.RMState state) voidreinitialize(org.apache.hadoop.conf.Configuration conf, RMContext rmContext) Re-initialize theResourceScheduler.voidremoveQueue(String queueName) Only supports removing empty leaf queuesvoidserviceInit(org.apache.hadoop.conf.Configuration conf) voidvoidvoidsetEntitlement(String queueName, QueueEntitlement entitlement) This method increase the entitlement for current queue (must respect invariants, e.g., no overcommit of parents, non negative, etc.).voidsetRMContext(RMContext rmContext) Set RMContext forResourceScheduler.voidupdate()Recompute the internal variables used by the scheduler - per-job weights, fair shares, deficits, minimum slot allocations, and amount of used and required resources per job.org.apache.hadoop.yarn.api.records.PriorityupdateApplicationPriority(org.apache.hadoop.yarn.api.records.Priority newPriority, org.apache.hadoop.yarn.api.records.ApplicationId applicationId, org.apache.hadoop.thirdparty.com.google.common.util.concurrent.SettableFuture<Object> future, org.apache.hadoop.security.UserGroupInformation user) Change application priority of a submitted application at runtimevoidupdateNodeResource(RMNode nm, org.apache.hadoop.yarn.api.records.ResourceOption resourceOption) Process resource update on a node and update Queue.Methods inherited from class org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler
addQueue, asyncContainerRelease, attemptAllocationOnNode, autoCorrectContainerAllocation, checkAndGetApplicationPriority, clearPendingContainerCache, completedContainer, containerIncreasedOnNode, containerLaunchedOnNode, createReleaseCache, createSchedContainerChangeRequests, getActivitiesManager, getApplicationAttempt, getAppResourceUsageReport, getBlacklistedNodes, getClock, getClusterResource, getCurrentAttemptForContainer, getLastNodeUpdateTime, getMaxClusterLevelAppPriority, getMaximumAllocation, getMaximumApplicationLifetime, getMaximumResourceCapability, getMinimumAllocation, getMinimumResourceCapability, getNode, getNodeIds, getNodeReport, getNodes, getNodeTracker, getPendingResourceRequestsForAttempt, getPendingSchedulingRequestsForAttempt, getRMContainer, getSchedulerAppInfo, getSchedulerApplications, getSchedulerHealth, getSchedulerNode, getSchedulingMonitorManager, getSkipNodeInterval, getTransferredContainers, handleContainerUpdates, initMaximumResourceCapability, killAllAppsInQueue, moveAllApps, normalizeResourceRequests, normalizeResourceRequests, placementConstraintEnabled, recoverContainersOnNode, refreshMaximumAllocation, releaseContainers, resetSchedulerMetrics, rollbackContainerUpdate, setClock, setClusterMaxPriority, setLastNodeUpdateTime, shouldContainersBeAutoUpdated, triggerUpdate, updateNodeResourceUtilization, updateSchedulerHealthInformationMethods inherited from class org.apache.hadoop.service.AbstractService
close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop
-
Field Details
-
CONTAINER_RESERVED
public static final org.apache.hadoop.yarn.api.records.Resource CONTAINER_RESERVED -
sizeBasedWeight
protected boolean sizeBasedWeight -
continuousSchedulingEnabled
Deprecated. -
continuousSchedulingSleepMs
Deprecated. -
nodeLocalityThreshold
protected double nodeLocalityThreshold -
rackLocalityThreshold
protected double rackLocalityThreshold -
nodeLocalityDelayMs
Deprecated. -
rackLocalityDelayMs
Deprecated. -
assignMultiple
protected boolean assignMultiple -
maxAssign
protected int maxAssign
-
-
Constructor Details
-
FairScheduler
public FairScheduler()
-
-
Method Details
-
getContext
-
getRMContext
-
isAtLeastReservationThreshold
public boolean isAtLeastReservationThreshold(org.apache.hadoop.yarn.util.resource.ResourceCalculator resourceCalculator, org.apache.hadoop.yarn.api.records.Resource resource) -
getConf
-
getNumNodesInRack
-
getQueueManager
-
update
@VisibleForTesting public void update()Recompute the internal variables used by the scheduler - per-job weights, fair shares, deficits, minimum slot allocations, and amount of used and required resources per job.- Overrides:
updatein classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode>
-
getContainerTokenSecretManager
-
isSizeBasedWeight
public boolean isSizeBasedWeight() -
getIncrementResourceCapability
public org.apache.hadoop.yarn.api.records.Resource getIncrementResourceCapability() -
getNodeLocalityThreshold
public double getNodeLocalityThreshold() -
getRackLocalityThreshold
public double getRackLocalityThreshold() -
getNodeLocalityDelayMs
Deprecated.linked toisContinuousSchedulingEnabled()deprecationDelay in milliseconds for locality fallback node to rack.- Returns:
- delay in ms
-
getRackLocalityDelayMs
Deprecated.linked toisContinuousSchedulingEnabled()deprecationDelay in milliseconds for locality fallback rack to other.- Returns:
- delay in ms
-
isContinuousSchedulingEnabled
Deprecated.Continuous scheduling should not be turned ON. It is deprecated because it can cause scheduler slowness due to locking issues. Schedulers should use assignmultiple as a replacement.Whether continuous scheduling is turned on.- Returns:
- whether continuous scheduling is enabled
-
getContinuousSchedulingSleepMs
Deprecated.linked toisContinuousSchedulingEnabled()deprecationThe sleep time of the continuous scheduler thread.- Returns:
- sleep time in ms
-
addApplication
protected void addApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId, String queueName, String user, boolean isAppRecovering, ApplicationPlacementContext placementContext) Add a new application to the scheduler, with a given id, queue name, and user. This will accept a new app even if the user or queue is above configured limits, but the app will not be marked as runnable.- Parameters:
applicationId- applicationId.queueName- queue name.user- submit application user.isAppRecovering- true, app recover; false, app not recover.placementContext- application placement context.
-
addApplicationAttempt
protected void addApplicationAttempt(org.apache.hadoop.yarn.api.records.ApplicationAttemptId applicationAttemptId, boolean transferStateFromPreviousAttempt, boolean isAttemptRecovering) Add a new application attempt to the scheduler.- Parameters:
applicationAttemptId- application AttemptId.transferStateFromPreviousAttempt- transferStateFromPreviousAttempt.isAttemptRecovering- true, attempt recovering;false, attempt not recovering.
-
completedContainerInternal
protected void completedContainerInternal(RMContainer rmContainer, org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus, RMContainerEventType event) Clean up a completed container.- Specified by:
completedContainerInternalin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode>
-
getNormalizedResource
public org.apache.hadoop.yarn.api.records.Resource getNormalizedResource(org.apache.hadoop.yarn.api.records.Resource requestedResource, org.apache.hadoop.yarn.api.records.Resource maxResourceCapability) Description copied from interface:YarnSchedulerNormalize a resource request using scheduler level maximum resource or queue based maximum resource.- Specified by:
getNormalizedResourcein interfaceYarnScheduler- Overrides:
getNormalizedResourcein classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
requestedResource- the resource to be normalizedmaxResourceCapability- Maximum container allocation value, if null or empty scheduler level maximum container allocation value will be used- Returns:
- the normalized resource
-
getMaximumResourceCapability
Description copied from interface:YarnSchedulerGet maximum allocatableResourcefor the queue specified.- Specified by:
getMaximumResourceCapabilityin interfaceYarnScheduler- Overrides:
getMaximumResourceCapabilityin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
queueName- queue name- Returns:
- maximum allocatable resource
-
killContainer
Description copied from class:AbstractYarnSchedulerKill a RMContainer. This is meant to be called in tests only to simulate AM container failures.- Specified by:
killContainerin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
container- the container to kill
-
allocate
public Allocation allocate(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId, List<org.apache.hadoop.yarn.api.records.ResourceRequest> ask, List<org.apache.hadoop.yarn.api.records.SchedulingRequest> schedulingRequests, List<org.apache.hadoop.yarn.api.records.ContainerId> release, List<String> blacklistAdditions, List<String> blacklistRemovals, ContainerUpdates updateRequests) Description copied from interface:YarnSchedulerThe main API between the ApplicationMaster and the Scheduler. The ApplicationMaster may request/update container resources, number of containers, node/rack preference for allocations etc. to the Scheduler.- Parameters:
appAttemptId- the id of the application attempt.ask- the request made by an application to obtain various allocations like host/rack, resource, number of containers, relaxLocality etc., seeResourceRequest.schedulingRequests- similar to ask, but with added ability to specify allocation tags etc., seeSchedulingRequest.release- the list of containers to be released.blacklistAdditions- places (node/rack) to be added to the blacklist.blacklistRemovals- places (node/rack) to be removed from the blacklist.updateRequests- container promotion/demotion updates.- Returns:
- the
Allocationfor the application.
-
nodeUpdate
Description copied from class:AbstractYarnSchedulerProcess a heartbeat update from a node.- Overrides:
nodeUpdatein classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
nm- The RMNode corresponding to the NodeManager
-
getSchedulerApp
public FSAppAttempt getSchedulerApp(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId) -
getResourceCalculator
public org.apache.hadoop.yarn.util.resource.ResourceCalculator getResourceCalculator() -
getRootQueueMetrics
Description copied from interface:YarnSchedulerGet the root queue for the scheduler.- Returns:
- the root queue for the scheduler.
-
handle
-
recover
- Throws:
Exception
-
setRMContext
Description copied from interface:ResourceSchedulerSet RMContext forResourceScheduler. This method should be called immediately after instantiating a scheduler once.- Parameters:
rmContext- created by ResourceManager
-
createPreemptionThread
@VisibleForTesting protected void createPreemptionThread() -
serviceInit
- Overrides:
serviceInitin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Throws:
Exception
-
serviceStart
- Overrides:
serviceStartin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Throws:
Exception
-
serviceStop
- Overrides:
serviceStopin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Throws:
Exception
-
reinitialize
public void reinitialize(org.apache.hadoop.conf.Configuration conf, RMContext rmContext) throws IOException Description copied from interface:ResourceSchedulerRe-initialize theResourceScheduler.- Specified by:
reinitializein interfaceResourceScheduler- Overrides:
reinitializein classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
conf- configurationrmContext- RMContext.- Throws:
IOException- an I/O exception has occurred.
-
getQueueInfo
public org.apache.hadoop.yarn.api.records.QueueInfo getQueueInfo(String queueName, boolean includeChildQueues, boolean recursive) throws IOException Description copied from interface:YarnSchedulerGet queue information.- Parameters:
queueName- queue nameincludeChildQueues- include child queues?recursive- get children queues?- Returns:
- queue information
- Throws:
IOException- an I/O exception has occurred.
-
getQueueUserAclInfo
Description copied from interface:YarnSchedulerGet acls for queues for current user.- Returns:
- acls for queues for current user
-
getNumClusterNodes
public int getNumClusterNodes()Description copied from interface:YarnSchedulerGet the number of nodes available in the cluster.- Returns:
- the number of available nodes.
-
checkAccess
public boolean checkAccess(org.apache.hadoop.security.UserGroupInformation callerUGI, org.apache.hadoop.yarn.api.records.QueueACL acl, String queueName) Description copied from interface:YarnSchedulerCheck if the user has permission to perform the operation. If the user hasQueueACL.ADMINISTER_QUEUEpermission, this user can view/modify the applications in this queue.- Parameters:
callerUGI- caller UserGroupInformation.acl- queue ACL.queueName- queue Name.- Returns:
trueif the user has the permission,falseotherwise
-
getAllocationConfiguration
-
getAppsInQueue
public List<org.apache.hadoop.yarn.api.records.ApplicationAttemptId> getAppsInQueue(String queueName) Description copied from interface:YarnSchedulerGets the apps under a given queue- Parameters:
queueName- the name of the queue.- Returns:
- a collection of app attempt ids in the given queue.
-
moveApplication
public String moveApplication(org.apache.hadoop.yarn.api.records.ApplicationId appId, String queueName) throws org.apache.hadoop.yarn.exceptions.YarnException Description copied from interface:YarnSchedulerMoves the given application to the given queue.- Specified by:
moveApplicationin interfaceYarnScheduler- Overrides:
moveApplicationin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
appId- application IdqueueName- the given queue.- Returns:
- the name of the queue the application was placed into
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException- if the move cannot be carried out
-
preValidateMoveApplication
public void preValidateMoveApplication(org.apache.hadoop.yarn.api.records.ApplicationId appId, String newQueue) throws org.apache.hadoop.yarn.exceptions.YarnException Perform pre-checks while moving the application. This should not check any application values that can change since the check is not part of an atomic action. During a move the scheduler can still assign containers and the app can still be updated until the real move is performed under proper locking.- Specified by:
preValidateMoveApplicationin interfaceYarnScheduler- Overrides:
preValidateMoveApplicationin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
appId- The ID of the app to be movednewQueue- The name of the queue the app should move to- Throws:
org.apache.hadoop.yarn.exceptions.YarnException- if the validate fails
-
updateNodeResource
public void updateNodeResource(RMNode nm, org.apache.hadoop.yarn.api.records.ResourceOption resourceOption) Process resource update on a node and update Queue.- Overrides:
updateNodeResourcein classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
nm- RMNode.resourceOption- resourceOption.
-
getSchedulingResourceTypes
public EnumSet<org.apache.hadoop.yarn.proto.YarnServiceProtos.SchedulerResourceTypes> getSchedulingResourceTypes()Return a collection of the resource types that are considered when scheduling- Specified by:
getSchedulingResourceTypesin interfaceYarnScheduler- Overrides:
getSchedulingResourceTypesin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Returns:
- an EnumSet containing the resource types
-
getPlanQueues
Description copied from interface:YarnSchedulerGets the list of names for queues managed by the Reservation System.- Specified by:
getPlanQueuesin interfaceYarnScheduler- Overrides:
getPlanQueuesin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Returns:
- the list of queues which support reservations
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException- when yarn exception occur.
-
setEntitlement
public void setEntitlement(String queueName, QueueEntitlement entitlement) throws org.apache.hadoop.yarn.exceptions.YarnException Description copied from interface:YarnSchedulerThis method increase the entitlement for current queue (must respect invariants, e.g., no overcommit of parents, non negative, etc.). Entitlement is a general term for weights in FairScheduler, capacity for the CapacityScheduler, etc.- Specified by:
setEntitlementin interfaceYarnScheduler- Overrides:
setEntitlementin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
queueName- the queue for which we change entitlemententitlement- the new entitlement for the queue (capacity, maxCapacity, etc..)- Throws:
org.apache.hadoop.yarn.exceptions.YarnException- when yarn exception occur.
-
removeQueue
Only supports removing empty leaf queues- Specified by:
removeQueuein interfaceYarnScheduler- Overrides:
removeQueuein classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
queueName- name of queue to remove- Throws:
org.apache.hadoop.yarn.exceptions.YarnException- if queue to remove is either not a leaf or if its not empty
-
getReservableNodesRatio
public float getReservableNodesRatio() -
checkAndGetApplicationLifetime
Description copied from interface:YarnSchedulerVerify whether a submitted application lifetime is valid as per configured Queue lifetime.- Specified by:
checkAndGetApplicationLifetimein interfaceYarnScheduler- Overrides:
checkAndGetApplicationLifetimein classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
queueName- Name of the Queuelifetime- configured application lifetimeapp- details of app- Returns:
- valid lifetime as per queue
-
updateApplicationPriority
public org.apache.hadoop.yarn.api.records.Priority updateApplicationPriority(org.apache.hadoop.yarn.api.records.Priority newPriority, org.apache.hadoop.yarn.api.records.ApplicationId applicationId, org.apache.hadoop.thirdparty.com.google.common.util.concurrent.SettableFuture<Object> future, org.apache.hadoop.security.UserGroupInformation user) throws org.apache.hadoop.yarn.exceptions.YarnException Description copied from interface:YarnSchedulerChange application priority of a submitted application at runtime- Specified by:
updateApplicationPriorityin interfaceYarnScheduler- Overrides:
updateApplicationPriorityin classAbstractYarnScheduler<FSAppAttempt,FSSchedulerNode> - Parameters:
newPriority- Submitted Application priority.applicationId- Application IDfuture- Sets any type of exception happened from StateStoreuser- who submitted the application- Returns:
- updated priority
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException- when yarn exception occur.
-
isNoTerminalRuleCheck
public boolean isNoTerminalRuleCheck()
-
isContinuousSchedulingEnabled()deprecation