Class DefaultAllocatedSlotPool
- java.lang.Object
-
- org.apache.flink.runtime.jobmaster.slotpool.DefaultAllocatedSlotPool
-
- All Implemented Interfaces:
AllocatedSlotPool
public class DefaultAllocatedSlotPool extends Object implements AllocatedSlotPool
DefaultAllocatedSlotPool
implementation.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlotPool
AllocatedSlotPool.AllocatedSlotsAndReservationStatus, AllocatedSlotPool.FreeSlotInfo
-
-
Constructor Summary
Constructors Constructor Description DefaultAllocatedSlotPool()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addSlots(Collection<org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot> slots, long currentTime)
Adds the given collection of slots to the slot pool.boolean
containsFreeSlot(AllocationID allocationId)
Checks whether the slot pool contains a slot with the givenAllocationID
and if it is free.boolean
containsSlot(AllocationID allocationId)
Checks whether the slot pool contains a slot with the given allocationId.boolean
containsSlots(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.FreeSlotTracker
getFreeSlotTracker()
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.AllocatedSlotsAndReservationStatus
removeSlots(ResourceID owner)
Removes all slots belonging to the owning TaskExecutor identified by owner.org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot
reserveFreeSlot(AllocationID allocationId)
Reserves the free slot specified by the given allocationId.
-
-
-
Method Detail
-
addSlots
public void addSlots(Collection<org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot> slots, long currentTime)
Description copied from interface:AllocatedSlotPool
Adds the given collection of slots to the slot pool.- Specified by:
addSlots
in interfaceAllocatedSlotPool
- Parameters:
slots
- slots to add to the slot poolcurrentTime
- currentTime when the slots have been added to the slot pool
-
removeSlot
public Optional<org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot> removeSlot(AllocationID allocationId)
Description copied from interface:AllocatedSlotPool
Removes the slot with the given allocationId from the slot pool.- Specified by:
removeSlot
in interfaceAllocatedSlotPool
- 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
public AllocatedSlotPool.AllocatedSlotsAndReservationStatus removeSlots(ResourceID owner)
Description copied from interface:AllocatedSlotPool
Removes all slots belonging to the owning TaskExecutor identified by owner.- Specified by:
removeSlots
in interfaceAllocatedSlotPool
- 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
public boolean containsSlots(ResourceID owner)
Description copied from interface:AllocatedSlotPool
Checks whether the slot pool contains at least one slot belonging to the specified owner.- Specified by:
containsSlots
in interfaceAllocatedSlotPool
- Parameters:
owner
- owner for which to check whether the slot pool contains slots- Returns:
true
if the slot pool contains a slot from the given owner; otherwisefalse
-
containsSlot
public boolean containsSlot(AllocationID allocationId)
Description copied from interface:AllocatedSlotPool
Checks whether the slot pool contains a slot with the given allocationId.- Specified by:
containsSlot
in interfaceAllocatedSlotPool
- Parameters:
allocationId
- allocationId identifying the slot for which to check whether it is contained- Returns:
true
if the slot pool contains the slot with the given allocationId; otherwisefalse
-
containsFreeSlot
public boolean containsFreeSlot(AllocationID allocationId)
Description copied from interface:AllocatedSlotPool
Checks whether the slot pool contains a slot with the givenAllocationID
and if it is free.- Specified by:
containsFreeSlot
in interfaceAllocatedSlotPool
- Parameters:
allocationId
- allocationId specifies the slot to check for- Returns:
true
if the slot pool contains a free slot registered under the given allocation id; otherwisefalse
-
reserveFreeSlot
public org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot reserveFreeSlot(AllocationID allocationId)
Description copied from interface:AllocatedSlotPool
Reserves the free slot specified by the given allocationId.- Specified by:
reserveFreeSlot
in interfaceAllocatedSlotPool
- Parameters:
allocationId
- allocationId identifying the free slot to reserve- Returns:
- the
AllocatedSlot
which has been reserved
-
freeReservedSlot
public Optional<org.apache.flink.runtime.jobmaster.slotpool.AllocatedSlot> freeReservedSlot(AllocationID allocationId, long currentTime)
Description copied from interface:AllocatedSlotPool
Frees the reserved slot, adding it back into the set of free slots.- Specified by:
freeReservedSlot
in interfaceAllocatedSlotPool
- Parameters:
allocationId
- identifying the reserved slot to freedcurrentTime
- currentTime when the slot has been freed- Returns:
- the freed
AllocatedSlot
if there was an allocated with the given allocationId; otherwiseOptional.empty()
.
-
getSlotInformation
public Optional<SlotInfo> getSlotInformation(AllocationID allocationID)
Description copied from interface:AllocatedSlotPool
Returns slot information specified by the given allocationId.- Specified by:
getSlotInformation
in interfaceAllocatedSlotPool
- Returns:
- the slot information if there was a slot with the given allocationId; otherwise
Optional.empty()
-
getFreeSlotTracker
public FreeSlotTracker getFreeSlotTracker()
Description copied from interface:AllocatedSlotPool
Returns information about all currently free slots.- Specified by:
getFreeSlotTracker
in interfaceAllocatedSlotPool
- Returns:
- free slot information
-
getAllSlotsInformation
public Collection<? extends SlotInfo> getAllSlotsInformation()
Description copied from interface:AllocatedSlotPool
Returns information about all slots in this pool.- Specified by:
getAllSlotsInformation
in interfaceAllocatedSlotPool
- Returns:
- collection of all slot information
-
-