| Modifier and Type | Method and Description | 
|---|---|
Collection<WorkerSlot> | 
Nimbus.StandaloneINimbus.allSlotsAvailableForScheduling(Collection<SupervisorDetails> supervisors,
                              Topologies topologies,
                              Set<String> topologiesMissingAssignments)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
Nimbus.StandaloneINimbus.assignSlots(Topologies topologies,
           Map<String,Collection<WorkerSlot>> newSlotsByTopologyId)  | 
| Modifier and Type | Method and Description | 
|---|---|
Collection<WorkerSlot> | 
INimbus.allSlotsAvailableForScheduling(Collection<SupervisorDetails> existingSupervisors,
                              Topologies topologies,
                              Set<String> topologiesMissingAssignments)
Returns all slots that are available for the next round of scheduling. 
 | 
static Map<WorkerSlot,List<ExecutorDetails>> | 
EvenScheduler.getAliveAssignedWorkerSlotExecutors(Cluster cluster,
                                   String topologyId)  | 
List<WorkerSlot> | 
ISchedulingState.getAssignableSlots()
Get all non-blacklisted slots in the cluster. 
 | 
List<WorkerSlot> | 
Cluster.getAssignableSlots()  | 
List<WorkerSlot> | 
ISchedulingState.getAssignableSlots(SupervisorDetails supervisor)
Return all non-blacklisted slots on this supervisor. 
 | 
List<WorkerSlot> | 
Cluster.getAssignableSlots(SupervisorDetails supervisor)  | 
List<WorkerSlot> | 
ISchedulingState.getAvailableSlots()
Get all the available worker slots in the cluster. 
 | 
List<WorkerSlot> | 
Cluster.getAvailableSlots()  | 
List<WorkerSlot> | 
ISchedulingState.getAvailableSlots(SupervisorDetails supervisor)
Return all the available slots on this supervisor. 
 | 
List<WorkerSlot> | 
Cluster.getAvailableSlots(SupervisorDetails supervisor)  | 
Map<ExecutorDetails,WorkerSlot> | 
SchedulerAssignmentImpl.getExecutorToSlot()  | 
Map<ExecutorDetails,WorkerSlot> | 
SchedulerAssignment.getExecutorToSlot()
Get the map of executor to WorkerSlot. 
 | 
List<WorkerSlot> | 
ISchedulingState.getNonBlacklistedAvailableSlots(List<String> blacklistedSupervisorIds)
Get all the available worker slots in the cluster, that are not blacklisted. 
 | 
List<WorkerSlot> | 
Cluster.getNonBlacklistedAvailableSlots(List<String> blacklistedSupervisorIds)  | 
Map<WorkerSlot,WorkerResources> | 
SchedulerAssignmentImpl.getScheduledResources()  | 
Map<WorkerSlot,WorkerResources> | 
SchedulerAssignment.getScheduledResources()
Get the slot to resource mapping. 
 | 
Set<WorkerSlot> | 
SchedulerAssignmentImpl.getSlots()  | 
Set<WorkerSlot> | 
SchedulerAssignment.getSlots()
Get the set of all slots that are a part of this. 
 | 
Map<WorkerSlot,Collection<ExecutorDetails>> | 
SchedulerAssignmentImpl.getSlotToExecutors()  | 
Map<WorkerSlot,Collection<ExecutorDetails>> | 
SchedulerAssignment.getSlotToExecutors()
Get the mapping of slot to executors on that slot. 
 | 
Collection<WorkerSlot> | 
ISchedulingState.getUsedSlots()
Get all currently occupied slots. 
 | 
Collection<WorkerSlot> | 
Cluster.getUsedSlots()  | 
Collection<WorkerSlot> | 
ISchedulingState.getUsedSlotsByTopologyId(String topologyId)
get slots used by a topology. 
 | 
Collection<WorkerSlot> | 
Cluster.getUsedSlotsByTopologyId(String topologyId)  | 
Map<String,Map<WorkerSlot,WorkerResources>> | 
ISchedulingState.getWorkerResourcesMap()
Gets the reference to the full topology->worker resource map. 
 | 
Map<String,Map<WorkerSlot,WorkerResources>> | 
Cluster.getWorkerResourcesMap()  | 
static Set<WorkerSlot> | 
DefaultScheduler.slotsCanReassign(Cluster cluster,
                Set<WorkerSlot> slots)  | 
static List<WorkerSlot> | 
EvenScheduler.sortSlots(List<WorkerSlot> availableSlots)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
SchedulerAssignmentImpl.assign(WorkerSlot slot,
      Collection<ExecutorDetails> executors)
Deprecated.  
 | 
void | 
SchedulerAssignmentImpl.assign(WorkerSlot slot,
      Collection<ExecutorDetails> executors,
      WorkerResources slotResources)
Assign the slot to executors. 
 | 
void | 
Cluster.assign(WorkerSlot slot,
      String topologyId,
      Collection<ExecutorDetails> executors)
Assign the slot to the executors for this topology. 
 | 
void | 
Cluster.freeSlot(WorkerSlot slot)
Free the specified slot. 
 | 
WorkerResources | 
ISchedulingState.getWorkerResources(WorkerSlot ws)
Get the resources for a given slot. 
 | 
WorkerResources | 
Cluster.getWorkerResources(WorkerSlot ws)  | 
boolean | 
SchedulerAssignmentImpl.isSlotOccupied(WorkerSlot slot)  | 
boolean | 
SchedulerAssignment.isSlotOccupied(WorkerSlot slot)
Is this slot part of this assignment or not. 
 | 
boolean | 
ISchedulingState.isSlotOccupied(WorkerSlot slot)
Check if a slot is occupied or not. 
 | 
boolean | 
Cluster.isSlotOccupied(WorkerSlot slot)  | 
void | 
SchedulerAssignmentImpl.unassignBySlot(WorkerSlot slot)
Release the slot occupied by this assignment. 
 | 
boolean | 
ISchedulingState.wouldFit(WorkerSlot ws,
        ExecutorDetails exec,
        TopologyDetails td,
        NormalizedResourceOffer resourcesAvailable,
        double maxHeap)
Would scheduling exec on ws fit? With a heap <= maxHeap total memory added <= memoryAvailable and cpu added <= cpuAvailable. 
 | 
boolean | 
Cluster.wouldFit(WorkerSlot ws,
        ExecutorDetails exec,
        TopologyDetails td,
        NormalizedResourceOffer resourcesAvailable,
        double maxHeap)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
INimbus.assignSlots(Topologies topologies,
           Map<String,Collection<WorkerSlot>> newSlotsByTopologyId)
this is called after the assignment is changed in ZK. 
 | 
void | 
Cluster.freeSlots(Collection<WorkerSlot> slots)
free the slots. 
 | 
static Set<WorkerSlot> | 
DefaultScheduler.slotsCanReassign(Cluster cluster,
                Set<WorkerSlot> slots)  | 
static List<WorkerSlot> | 
EvenScheduler.sortSlots(List<WorkerSlot> availableSlots)  | 
| Constructor and Description | 
|---|
SchedulerAssignmentImpl(String topologyId,
                       Map<ExecutorDetails,WorkerSlot> executorToSlot,
                       Map<WorkerSlot,WorkerResources> resources,
                       Map<String,Double> nodeIdToTotalSharedOffHeap)
Create a new assignment. 
 | 
SchedulerAssignmentImpl(String topologyId,
                       Map<ExecutorDetails,WorkerSlot> executorToSlot,
                       Map<WorkerSlot,WorkerResources> resources,
                       Map<String,Double> nodeIdToTotalSharedOffHeap)
Create a new assignment. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
Node.free(WorkerSlot ws,
    Cluster cluster,
    boolean forceFree)
Frees a single slot in this node 
 | 
| Modifier and Type | Method and Description | 
|---|---|
Collection<WorkerSlot> | 
RAS_Node.getFreeSlots()  | 
Collection<WorkerSlot> | 
RAS_Node.getSlotsAvailableToScheduleOn()  | 
Collection<WorkerSlot> | 
RAS_Node.getUsedSlots()  | 
Collection<WorkerSlot> | 
RAS_Node.getUsedSlots(String topId)
Get slots used by the given topology. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
RAS_Node.assign(WorkerSlot target,
      TopologyDetails td,
      Collection<ExecutorDetails> executors)
Assigns a worker to a node. 
 | 
void | 
RAS_Node.assignSingleExecutor(WorkerSlot ws,
                    ExecutorDetails exec,
                    TopologyDetails td)
Assign a single executor to a slot, even if other things are in the slot. 
 | 
void | 
RAS_Node.free(WorkerSlot ws)
Frees a single slot in this node. 
 | 
boolean | 
RAS_Node.wouldFit(WorkerSlot ws,
        ExecutorDetails exec,
        TopologyDetails td)
Would scheduling exec in ws fit with the current resource constraints. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
RAS_Nodes.freeSlots(Collection<WorkerSlot> workerSlots)
Free everything on the given slots. 
 | 
| Constructor and Description | 
|---|
RAS_Node(String nodeId,
        SupervisorDetails sup,
        Cluster cluster,
        Map<String,WorkerSlot> workerIdToWorker,
        Map<String,Map<String,Collection<ExecutorDetails>>> assignmentMap)
Create a new node. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected WorkerSlot | 
BaseResourceAwareStrategy.findWorkerForExec(ExecutorDetails exec,
                 TopologyDetails td,
                 Iterable<String> sortedNodes)
Find a worker to schedule executor exec on. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
ConstraintSolverStrategy.SearcherState.backtrack(Map<ExecutorDetails,String> execToComp,
         RAS_Node node,
         WorkerSlot workerSlot)  | 
boolean | 
ConstraintSolverStrategy.isExecAssignmentToWorkerValid(WorkerSlot worker,
                             ConstraintSolverStrategy.SearcherState state)
Check if any constraints are violated if exec is scheduled on worker. 
 | 
void | 
ConstraintSolverStrategy.SearcherState.tryToSchedule(Map<ExecutorDetails,String> execToComp,
             RAS_Node node,
             WorkerSlot workerSlot)  | 
| Modifier and Type | Method and Description | 
|---|---|
static List<WorkerSummary> | 
StatsUtil.aggWorkerStats(String stormId,
              String stormName,
              Map<Integer,String> task2Component,
              Map<List<Integer>,Map<String,Object>> beats,
              Map<List<Long>,List<Object>> exec2NodePort,
              Map<String,String> nodeHost,
              Map<WorkerSlot,WorkerResources> worker2Resources,
              boolean includeSys,
              boolean userAuthorized)
Aggregate statistics per worker for a topology. 
 | 
static List<WorkerSummary> | 
StatsUtil.aggWorkerStats(String stormId,
              String stormName,
              Map<Integer,String> task2Component,
              Map<List<Integer>,Map<String,Object>> beats,
              Map<List<Long>,List<Object>> exec2NodePort,
              Map<String,String> nodeHost,
              Map<WorkerSlot,WorkerResources> worker2Resources,
              boolean includeSys,
              boolean userAuthorized,
              String filterSupervisor)
aggregate statistics per worker for a topology. 
 | 
Copyright © 2019 The Apache Software Foundation. All rights reserved.