diff options
author | roxchkplusony <roxchkplusony@gmail.com> | 2014-11-27 15:54:40 -0800 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2014-11-27 15:54:50 -0800 |
commit | bfba8bf602074a346e31917b97a6db205d62df69 (patch) | |
tree | 42bf0f0e5238be207286ff6485c13b713a280a34 /core/src/main/scala | |
parent | a0aa07baaab10fe6e491a06171fe42e0f102c7a6 (diff) | |
download | spark-bfba8bf602074a346e31917b97a6db205d62df69.tar.gz spark-bfba8bf602074a346e31917b97a6db205d62df69.tar.bz2 spark-bfba8bf602074a346e31917b97a6db205d62df69.zip |
[SPARK-4626] Kill a task only if the executorId is (still) registered with the scheduler
Author: roxchkplusony <roxchkplusony@gmail.com>
Closes #3483 from roxchkplusony/bugfix/4626 and squashes the following commits:
aba9184 [roxchkplusony] replace warning message per review
5e7fdea [roxchkplusony] [SPARK-4626] Kill a task only if the executorId is (still) registered with the scheduler
(cherry picked from commit 84376d31392858f7df215ddb3f05419181152e68)
Signed-off-by: Reynold Xin <rxin@databricks.com>
Diffstat (limited to 'core/src/main/scala')
-rw-r--r-- | core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedSchedulerBackend.scala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedSchedulerBackend.scala b/core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedSchedulerBackend.scala index 047fae104b..88b196ac64 100644 --- a/core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedSchedulerBackend.scala +++ b/core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedSchedulerBackend.scala @@ -127,7 +127,13 @@ class CoarseGrainedSchedulerBackend(scheduler: TaskSchedulerImpl, val actorSyste makeOffers() case KillTask(taskId, executorId, interruptThread) => - executorDataMap(executorId).executorActor ! KillTask(taskId, executorId, interruptThread) + executorDataMap.get(executorId) match { + case Some(executorInfo) => + executorInfo.executorActor ! KillTask(taskId, executorId, interruptThread) + case None => + // Ignoring the task kill since the executor is not registered. + logWarning(s"Attempted to kill task $taskId for unknown executor $executorId.") + } case StopDriver => sender ! true |