Github user xuchenCN commented on a diff in the pull request:
https://github.com/apache/spark/pull/7107#discussion_r34648531
--- Diff:
core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedSchedulerBackend.scala
---
@@ -394,6 +394,27 @@ class CoarseGrainedSchedulerBackend(scheduler:
TaskSchedulerImpl, val rpcEnv: Rp
}
/**
+ * Request that the cluster manager kill the specified executor without
adjusting the
+ * application resource requirements.
+ *
+ * The effect is that a new executor will be launched in place of the
one killed by
+ * this request. This assumes the cluster manager will automatically and
eventually
+ * fulfill all missing application resource requests.
+ *
+ * Return whether the request is received.
+ */
+ def killAndReplaceExecutor(executorId: String): Boolean = synchronized {
+ logInfo(s"Requesting to replace executor $executorId")
+ if (executorDataMap.contains(executorId)) {
+ executorsPendingToRemove += executorId
--- End diff --
@andrewor14 If CoarseGrainedSchedulerBackend.removeExecutor was happened
before HeartbeatReceiver.killExecutorThread
---
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.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]