diff options
author | Andrew Or <andrew@databricks.com> | 2015-02-09 17:33:29 -0800 |
---|---|---|
committer | Andrew Or <andrew@databricks.com> | 2015-02-09 17:33:29 -0800 |
commit | d302c4800bf2f74eceb731169ddf1766136b7398 (patch) | |
tree | 5d903805201025187a8e1f0194b3b0325844c519 /core/src/main/scala | |
parent | 3ec3ad295ddd1435da68251b7479ffb60aec7037 (diff) | |
download | spark-d302c4800bf2f74eceb731169ddf1766136b7398.tar.gz spark-d302c4800bf2f74eceb731169ddf1766136b7398.tar.bz2 spark-d302c4800bf2f74eceb731169ddf1766136b7398.zip |
[SPARK-5698] Do not let user request negative # of executors
Otherwise we might crash the ApplicationMaster. Why? Please see https://issues.apache.org/jira/browse/SPARK-5698.
sryza I believe this is also relevant in your patch #4168.
Author: Andrew Or <andrew@databricks.com>
Closes #4483 from andrewor14/da-negative and squashes the following commits:
53ed955 [Andrew Or] Throw IllegalArgumentException instead
0e89fd5 [Andrew Or] Check against negative requests
Diffstat (limited to 'core/src/main/scala')
-rw-r--r-- | core/src/main/scala/org/apache/spark/scheduler/cluster/CoarseGrainedSchedulerBackend.scala | 5 |
1 files changed, 5 insertions, 0 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 9d2fb4f3b4..f9ca93432b 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 @@ -314,6 +314,11 @@ class CoarseGrainedSchedulerBackend(scheduler: TaskSchedulerImpl, val actorSyste * Return whether the request is acknowledged. */ final override def requestExecutors(numAdditionalExecutors: Int): Boolean = synchronized { + if (numAdditionalExecutors < 0) { + throw new IllegalArgumentException( + "Attempted to request a negative number of additional executor(s) " + + s"$numAdditionalExecutors from the cluster manager. Please specify a positive number!") + } logInfo(s"Requesting $numAdditionalExecutors additional executor(s) from the cluster manager") logDebug(s"Number of pending executors is now $numPendingExecutors") numPendingExecutors += numAdditionalExecutors |