Class DefaultPool
java.lang.Object
org.apache.storm.scheduler.multitenant.NodePool
org.apache.storm.scheduler.multitenant.DefaultPool
A pool of machines that anyone can use, but topologies are not isolated.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.storm.scheduler.multitenant.NodePool
NodePool.NodeAndSlotCounts, NodePool.RoundRobinSlotScheduler -
Field Summary
Fields inherited from class org.apache.storm.scheduler.multitenant.NodePool
cluster, nodeIdToNode -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a topology to the pool.booleanCheck if this topology can be added to this pool.getNodeAndSlotCountIfSlotsWereTaken(int slotsNeeded) Get the number of nodes and slots this would provide to get the slots needed.intGet the number of available nodes.voidscheduleAsNeeded(NodePool... lesserPools) Reschedule any topologies as needed.intGet number of available slots.takeNodes(int nodesNeeded) Take up to nodesNeeded from this pool.takeNodesBySlots(int slotsNeeded) Take nodes from this pool that can fulfill possibly up to the slotsNeeded.toString()Methods inherited from class org.apache.storm.scheduler.multitenant.NodePool
getNodeCountIfSlotsWereTaken, init, nodesAvailable, slotsAvailable, takeNodes, takeNodesBySlot
-
Constructor Details
-
DefaultPool
public DefaultPool()
-
-
Method Details
-
addTopology
Description copied from class:NodePoolAdd a topology to the pool.- Specified by:
addTopologyin classNodePool- Parameters:
td- the topology to add
-
canAdd
Description copied from class:NodePoolCheck if this topology can be added to this pool. -
takeNodes
Description copied from class:NodePoolTake up to nodesNeeded from this pool. -
nodesAvailable
public int nodesAvailable()Description copied from class:NodePoolGet the number of available nodes.- Specified by:
nodesAvailablein classNodePool- Returns:
- the number of nodes that are available to be taken
-
slotsAvailable
public int slotsAvailable()Description copied from class:NodePoolGet number of available slots.- Specified by:
slotsAvailablein classNodePool- Returns:
- the number of slots that are available to be taken
-
getNodeAndSlotCountIfSlotsWereTaken
Description copied from class:NodePoolGet the number of nodes and slots this would provide to get the slots needed.- Specified by:
getNodeAndSlotCountIfSlotsWereTakenin classNodePool- Parameters:
slotsNeeded- the number of slots needed- Returns:
- the number of nodes and slots that would be returned.
-
takeNodesBySlots
Description copied from class:NodePoolTake nodes from this pool that can fulfill possibly up to the slotsNeeded.- Specified by:
takeNodesBySlotsin classNodePool- Parameters:
slotsNeeded- the number of slots that are needed.- Returns:
- a Collection of nodes with the removed nodes in it. This may be empty, but should not be null.
-
scheduleAsNeeded
Description copied from class:NodePoolReschedule any topologies as needed.- Specified by:
scheduleAsNeededin classNodePool- Parameters:
lesserPools- pools that may be used to steal nodes from.
-
toString
-