Interface NodeSelector

    • Method Detail

      • lockDownNodes

        void lockDownNodes()
      • selectRandomNodes

        default List<InternalNode> selectRandomNodes​(int limit)
      • computeAssignments

        SplitPlacementResult computeAssignments​(Set<Split> splits,
                                                List<RemoteTask> existingTasks)
        Identifies the nodes for running the specified splits.
        Parameters:
        splits - the splits that need to be assigned to nodes
        Returns:
        a multimap from node to splits only for splits for which we could identify a node to schedule on. If we cannot find an assignment for a split, it is not included in the map. Also returns a future indicating when to reattempt scheduling of this batch of splits, if some of them could not be scheduled.
      • computeAssignments

        SplitPlacementResult computeAssignments​(Set<Split> splits,
                                                List<RemoteTask> existingTasks,
                                                BucketNodeMap bucketNodeMap)
        Identifies the nodes for running the specified splits based on a precomputed fixed partitioning.
        Parameters:
        splits - the splits that need to be assigned to nodes
        Returns:
        a multimap from node to splits only for splits for which we could identify a node with free space. If we cannot find an assignment for a split, it is not included in the map. Also returns a future indicating when to reattempt scheduling of this batch of splits, if some of them could not be scheduled.