-
- Downloads
SPARK-1582 Invoke Thread.interrupt() when cancelling jobs
Sometimes executor threads are blocked waiting for IO or monitors, and the current implementation of job cancellation may never recover these threads. By simply invoking Thread.interrupt() during cancellation, we can often safely unblock the threads and use them for subsequent work. Note that this feature must remain optional for now because of a bug in HDFS where Thread.interrupt() may cause nodes to be marked as permanently dead (as the InterruptedException is reinterpreted as an IOException during communication with some node). Author: Aaron Davidson <aaron@databricks.com> Closes #498 from aarondav/cancel and squashes the following commits: e52b829 [Aaron Davidson] Don't use job.properties when null 82f78bb [Aaron Davidson] Update DAGSchedulerSuite b67f472 [Aaron Davidson] Add comment on why interruptOnCancel is in setJobGroup 4cb9fd6 [Aaron Davidson] SPARK-1582 Invoke Thread.interrupt() when cancelling jobs
Showing
- core/src/main/scala/org/apache/spark/SparkContext.scala 14 additions, 1 deletioncore/src/main/scala/org/apache/spark/SparkContext.scala
- core/src/main/scala/org/apache/spark/api/python/PythonRDD.scala 0 additions, 1 deletion...rc/main/scala/org/apache/spark/api/python/PythonRDD.scala
- core/src/main/scala/org/apache/spark/executor/CoarseGrainedExecutorBackend.scala 2 additions, 2 deletions.../apache/spark/executor/CoarseGrainedExecutorBackend.scala
- core/src/main/scala/org/apache/spark/executor/Executor.scala 5 additions, 5 deletionscore/src/main/scala/org/apache/spark/executor/Executor.scala
- core/src/main/scala/org/apache/spark/executor/MesosExecutorBackend.scala 2 additions, 1 deletion...cala/org/apache/spark/executor/MesosExecutorBackend.scala
- core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala 5 additions, 1 deletion.../main/scala/org/apache/spark/scheduler/DAGScheduler.scala
- core/src/main/scala/org/apache/spark/scheduler/SchedulerBackend.scala 2 additions, 1 deletion...n/scala/org/apache/spark/scheduler/SchedulerBackend.scala
- core/src/main/scala/org/apache/spark/scheduler/Task.scala 10 additions, 2 deletionscore/src/main/scala/org/apache/spark/scheduler/Task.scala
- core/src/main/scala/org/apache/spark/scheduler/TaskScheduler.scala 1 addition, 1 deletion...main/scala/org/apache/spark/scheduler/TaskScheduler.scala
- core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala 2 additions, 2 deletions.../scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala
- core/src/main/scala/org/apache/spark/scheduler/TaskSet.scala 2 additions, 2 deletionscore/src/main/scala/org/apache/spark/scheduler/TaskSet.scala
- core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedClusterMessage.scala 2 additions, 1 deletion...spark/scheduler/cluster/CoarseGrainedClusterMessage.scala
- core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedSchedulerBackend.scala 4 additions, 4 deletions...ark/scheduler/cluster/CoarseGrainedSchedulerBackend.scala
- core/src/main/scala/org/apache/spark/scheduler/local/LocalBackend.scala 5 additions, 5 deletions...scala/org/apache/spark/scheduler/local/LocalBackend.scala
- core/src/test/scala/org/apache/spark/scheduler/DAGSchedulerSuite.scala 1 addition, 1 deletion.../scala/org/apache/spark/scheduler/DAGSchedulerSuite.scala
Loading
Please register or sign in to comment