public interface SlotManager extends AutoCloseable
ResourceAllocator.declareResourceNeeded(java.util.Collection<org.apache.flink.runtime.resourcemanager.slotmanager.ResourceDeclaration>)
.
In order to free resources and avoid resource leaks, idling task managers (task managers whose slots are currently not used) and pending slot requests time out triggering their release and failure, respectively.
Modifier and Type | Interface and Description |
---|---|
static class |
SlotManager.RegistrationResult
The result of task manager registration.
|
Modifier and Type | Method and Description |
---|---|
void |
clearResourceRequirements(JobID jobId)
Notifies the slot manager that the resource requirements for the given job should be cleared.
|
void |
freeSlot(SlotID slotId,
AllocationID allocationId)
Free the given slot from the given allocation.
|
Collection<SlotInfo> |
getAllocatedSlotsOf(InstanceID instanceID) |
ResourceProfile |
getFreeResource() |
ResourceProfile |
getFreeResourceOf(InstanceID instanceID) |
int |
getNumberFreeSlots() |
int |
getNumberFreeSlotsOf(InstanceID instanceId) |
int |
getNumberRegisteredSlots() |
int |
getNumberRegisteredSlotsOf(InstanceID instanceId) |
ResourceProfile |
getRegisteredResource() |
ResourceProfile |
getRegisteredResourceOf(InstanceID instanceID) |
void |
processResourceRequirements(ResourceRequirements resourceRequirements)
Notifies the slot manager about the resource requirements of a job.
|
SlotManager.RegistrationResult |
registerTaskManager(TaskExecutorConnection taskExecutorConnection,
SlotReport initialSlotReport,
ResourceProfile totalResourceProfile,
ResourceProfile defaultSlotResourceProfile)
Registers a new task manager at the slot manager.
|
boolean |
reportSlotStatus(InstanceID instanceId,
SlotReport slotReport)
Reports the current slot allocations for a task manager identified by the given instance id.
|
void |
setFailUnfulfillableRequest(boolean failUnfulfillableRequest) |
void |
start(ResourceManagerId newResourceManagerId,
Executor newMainThreadExecutor,
ResourceAllocator newResourceAllocator,
ResourceEventListener resourceEventListener,
BlockedTaskManagerChecker newBlockedTaskManagerChecker)
Starts the slot manager with the given leader id and resource manager actions.
|
void |
suspend()
Suspends the component.
|
void |
triggerResourceRequirementsCheck()
Trigger the resource requirement check.
|
boolean |
unregisterTaskManager(InstanceID instanceId,
Exception cause)
Unregisters the task manager identified by the given instance id and its associated slots
from the slot manager.
|
close
int getNumberRegisteredSlots()
int getNumberRegisteredSlotsOf(InstanceID instanceId)
int getNumberFreeSlots()
int getNumberFreeSlotsOf(InstanceID instanceId)
ResourceProfile getRegisteredResource()
ResourceProfile getRegisteredResourceOf(InstanceID instanceID)
ResourceProfile getFreeResource()
ResourceProfile getFreeResourceOf(InstanceID instanceID)
Collection<SlotInfo> getAllocatedSlotsOf(InstanceID instanceID)
void start(ResourceManagerId newResourceManagerId, Executor newMainThreadExecutor, ResourceAllocator newResourceAllocator, ResourceEventListener resourceEventListener, BlockedTaskManagerChecker newBlockedTaskManagerChecker)
newResourceManagerId
- to use for communication with the task managersnewMainThreadExecutor
- to use to run code in the ResourceManager's main threadnewResourceAllocator
- to use for resource (de-)allocationsresourceEventListener
- to use for notify resource not enoughnewBlockedTaskManagerChecker
- to query whether a task manager is blockedvoid suspend()
void clearResourceRequirements(JobID jobId)
jobId
- job for which to clear the requirementsvoid processResourceRequirements(ResourceRequirements resourceRequirements)
resourceRequirements
- resource requirements of a jobSlotManager.RegistrationResult registerTaskManager(TaskExecutorConnection taskExecutorConnection, SlotReport initialSlotReport, ResourceProfile totalResourceProfile, ResourceProfile defaultSlotResourceProfile)
taskExecutorConnection
- for the new task managerinitialSlotReport
- for the new task managertotalResourceProfile
- for the new task managerdefaultSlotResourceProfile
- for the new task managerboolean unregisterTaskManager(InstanceID instanceId, Exception cause)
instanceId
- identifying the task manager to unregistercause
- for unregistering the TaskManagerboolean reportSlotStatus(InstanceID instanceId, SlotReport slotReport)
instanceId
- identifying the task manager for which to report the slot statusslotReport
- containing the status for all of its slotsvoid freeSlot(SlotID slotId, AllocationID allocationId)
slotId
- identifying the slot to freeallocationId
- with which the slot is presumably allocatedvoid setFailUnfulfillableRequest(boolean failUnfulfillableRequest)
void triggerResourceRequirementsCheck()
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.