Interface AllocatedSlotPool
-
- All Known Implementing Classes:
DefaultAllocatedSlotPool
public interface AllocatedSlotPoolThe slot pool is responsible for maintaining a set ofAllocatedSlots.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceAllocatedSlotPool.AllocatedSlotsAndReservationStatusA collection ofAllocatedSlotsand their reservation status.static interfaceAllocatedSlotPool.FreeSlotInfoInformation about a free slot.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddSlots(Collection<org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot> slots, long currentTime)Adds the given collection of slots to the slot pool.booleancontainsFreeSlot(AllocationID allocationId)Checks whether the slot pool contains a slot with the givenAllocationIDand if it is free.booleancontainsSlot(AllocationID allocationId)Checks whether the slot pool contains a slot with the given allocationId.booleancontainsSlots(ResourceID owner)Checks whether the slot pool contains at least one slot belonging to the specified owner.Optional<org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot>freeReservedSlot(AllocationID allocationId, long currentTime)Frees the reserved slot, adding it back into the set of free slots.Collection<? extends SlotInfo>getAllSlotsInformation()Returns information about all slots in this pool.FreeSlotTrackergetFreeSlotTracker()Returns information about all currently free slots.Optional<SlotInfo>getSlotInformation(AllocationID allocationID)Returns slot information specified by the given allocationId.Optional<org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot>removeSlot(AllocationID allocationId)Removes the slot with the given allocationId from the slot pool.AllocatedSlotPool.AllocatedSlotsAndReservationStatusremoveSlots(ResourceID owner)Removes all slots belonging to the owning TaskExecutor identified by owner.org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlotreserveFreeSlot(AllocationID allocationId)Reserves the free slot specified by the given allocationId.
-
-
-
Method Detail
-
addSlots
void addSlots(Collection<org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot> slots, long currentTime)
Adds the given collection of slots to the slot pool.- Parameters:
slots- slots to add to the slot poolcurrentTime- currentTime when the slots have been added to the slot pool- Throws:
IllegalStateException- if the slot pool already contains a to be added slot
-
removeSlot
Optional<org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot> removeSlot(AllocationID allocationId)
Removes the slot with the given allocationId from the slot pool.- Parameters:
allocationId- allocationId identifying the slot to remove from the slot pool- Returns:
- the removed slot if there was a slot with the given allocationId; otherwise
Optional.empty()
-
removeSlots
AllocatedSlotPool.AllocatedSlotsAndReservationStatus removeSlots(ResourceID owner)
Removes all slots belonging to the owning TaskExecutor identified by owner.- Parameters:
owner- owner identifies the TaskExecutor whose slots shall be removed- Returns:
- the collection of removed slots and for each slot whether it was currently free
-
containsSlots
boolean containsSlots(ResourceID owner)
Checks whether the slot pool contains at least one slot belonging to the specified owner.- Parameters:
owner- owner for which to check whether the slot pool contains slots- Returns:
trueif the slot pool contains a slot from the given owner; otherwisefalse
-
containsSlot
boolean containsSlot(AllocationID allocationId)
Checks whether the slot pool contains a slot with the given allocationId.- Parameters:
allocationId- allocationId identifying the slot for which to check whether it is contained- Returns:
trueif the slot pool contains the slot with the given allocationId; otherwisefalse
-
containsFreeSlot
boolean containsFreeSlot(AllocationID allocationId)
Checks whether the slot pool contains a slot with the givenAllocationIDand if it is free.- Parameters:
allocationId- allocationId specifies the slot to check for- Returns:
trueif the slot pool contains a free slot registered under the given allocation id; otherwisefalse
-
reserveFreeSlot
org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot reserveFreeSlot(AllocationID allocationId)
Reserves the free slot specified by the given allocationId.- Parameters:
allocationId- allocationId identifying the free slot to reserve- Returns:
- the
AllocatedSlotwhich has been reserved - Throws:
IllegalStateException- if there is no free slot with the given allocationId
-
freeReservedSlot
Optional<org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot> freeReservedSlot(AllocationID allocationId, long currentTime)
Frees the reserved slot, adding it back into the set of free slots.- Parameters:
allocationId- identifying the reserved slot to freedcurrentTime- currentTime when the slot has been freed- Returns:
- the freed
AllocatedSlotif there was an allocated with the given allocationId; otherwiseOptional.empty().
-
getSlotInformation
Optional<SlotInfo> getSlotInformation(AllocationID allocationID)
Returns slot information specified by the given allocationId.- Returns:
- the slot information if there was a slot with the given allocationId; otherwise
Optional.empty()
-
getFreeSlotTracker
FreeSlotTracker getFreeSlotTracker()
Returns information about all currently free slots.- Returns:
- free slot information
-
getAllSlotsInformation
Collection<? extends SlotInfo> getAllSlotsInformation()
Returns information about all slots in this pool.- Returns:
- collection of all slot information
-
-