Github user mridulm commented on a diff in the pull request:

    https://github.com/apache/spark/pull/159#discussion_r10690206
  
    --- Diff: 
core/src/main/scala/org/apache/spark/scheduler/TaskSetManager.scala ---
    @@ -71,7 +80,9 @@ private[spark] class TaskSetManager(
       val numTasks = tasks.length
       val copiesRunning = new Array[Int](numTasks)
       val successful = new Array[Boolean](numTasks)
    -  val numFailures = new Array[Int](numTasks)
    +  private val numFailures = new Array[Int](numTasks)
    +  // key is taskId, value is a Map of executor id to when it failed
    +  private[this] val failedExecutors = new HashMap[Int, HashMap[String, 
Long]]()
    --- End diff --
    
    When a task is successful, we need to remove all blacklisted executors we 
know of for that task - moving to key == (Int, String) will mean we will need 
to iterate over all keys in failedExecutors which can be expensive.


---
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 [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to