Package org.apache.drill.yarn.appMaster
Class AbstractDrillbitScheduler
java.lang.Object
org.apache.drill.yarn.appMaster.AbstractScheduler
org.apache.drill.yarn.appMaster.PersistentTaskScheduler
org.apache.drill.yarn.appMaster.AbstractDrillbitScheduler
- All Implemented Interfaces:
Scheduler
- Direct Known Subclasses:
DrillbitScheduler
Base class for schedulers (pools) for Drillbits. Derived classes implement
various policies for node selection. This class handles the common tasks such
as holding the Drillbit launch specification, providing Drillbit- specific
behaviors and so on.
The key purpose of this class is to abstract Drillbit-speicific code from the rest of the AM cluster controller. We do so for several reasons: ease of testing (we can use mock tasks), ability to handle additional server types in the future, and a way to keep each module focused on a single task (as the controller and its state machine is complex enough without mixing in Drillbit specifics.)
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
Interface to provide Drill-bit specific behavior.Nested classes/interfaces inherited from interface org.apache.drill.yarn.appMaster.Scheduler
Scheduler.TaskManager
-
Field Summary
Fields inherited from class org.apache.drill.yarn.appMaster.PersistentTaskScheduler
quantity
Fields inherited from class org.apache.drill.yarn.appMaster.AbstractScheduler
failCount, isTracked, priority, state, taskManager, taskSpec
-
Constructor Summary
-
Method Summary
Methods inherited from class org.apache.drill.yarn.appMaster.PersistentTaskScheduler
adjust, completed, getProgress, getTarget, hasMoreTasks, requestTimedOut, resize
Methods inherited from class org.apache.drill.yarn.appMaster.AbstractScheduler
addTasks, change, getName, getRequestTimeoutSec, getResource, getTaskManager, getType, isTracked, limitContainerSize, registerState, setPriority, setTaskManager
-
Constructor Details
-
AbstractDrillbitScheduler
-