spark-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kayousterhout <...@git.apache.org>
Subject [GitHub] spark pull request #13603: [SPARK-15865][CORE] Blacklist should not result i...
Date Tue, 14 Jun 2016 22:32:51 GMT
Github user kayousterhout commented on a diff in the pull request:

    https://github.com/apache/spark/pull/13603#discussion_r67070153
  
    --- Diff: core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala ---
    @@ -280,10 +280,54 @@ private[spark] class TaskSchedulerImpl(
             }
           }
         }
    +    if (!launchedTask && isTaskSetCompletelyBlacklisted(taskSet)) {
    +      taskSet.abort(s"Aborting ${taskSet.taskSet} because it has a task which cannot
be scheduled" +
    +        s" on any executor due to blacklists.")
    +    }
         return launchedTask
       }
     
       /**
    +   * Check whether the given task set has been blacklisted to the point that it can't
run anywhere.
    +   *
    +   * It is possible that this taskset has become impossible to schedule *anywhere* due
to the
    +   * blacklist.  The most common scenario would be if there are fewer executors than
    +   * spark.task.maxFailures. We need to detect this so we can fail the task set, otherwise
the job
    +   * will hang.
    +   *
    +   * The check here is a balance between being sure to catch the issue, but not wasting
    +   * too much time inside the scheduling loop.  Just check if the last task is schedulable
    +   * on any of the available executors.  So this is O(numExecutors) worst-case, but it'll
    +   * really be fast unless you've got a bunch of things blacklisted.  Its possible it
won't detect
    +   * the unschedulable task immediately, but if it returns false, there is at least *some*
task
    +   * that is schedulable, and after scheduling all of those, we'll eventually find the
unschedulable
    +   * task.
    +   */
    +  private[scheduler] def isTaskSetCompletelyBlacklisted(
    --- End diff --
    
    Ah got it -- agree that in the long term, given the new blacklistling, it might make sense
here! But let's put it in the TaskSetManager for now.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


Mime
View raw message