aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorSandeep <sandeep@techaddict.me>2014-04-16 09:58:57 -0700
committerPatrick Wendell <pwendell@gmail.com>2014-04-16 09:58:57 -0700
commite269c24db7882ba05b26eff8fc6e1869103517f8 (patch)
treeade888402265d7935f587453a4ba03b3c56ea85e /core
parent82349fbd2b90ce28cff54bc95753d84e34e4cab9 (diff)
downloadspark-e269c24db7882ba05b26eff8fc6e1869103517f8.tar.gz
spark-e269c24db7882ba05b26eff8fc6e1869103517f8.tar.bz2
spark-e269c24db7882ba05b26eff8fc6e1869103517f8.zip
SPARK-1469: Scheduler mode should accept lower-case definitions and have...
... nicer error messages There are two improvements to Scheduler Mode: 1. Made the built in ones case insensitive (fair/FAIR, fifo/FIFO). 2. If an invalid mode is given we should print a better error message. Author: Sandeep <sandeep@techaddict.me> Closes #388 from techaddict/1469 and squashes the following commits: a31bbd5 [Sandeep] SPARK-1469: Scheduler mode should accept lower-case definitions and have nicer error messages There are two improvements to Scheduler Mode: 1. Made the built in ones case insensitive (fair/FAIR, fifo/FIFO). 2. If an invalid mode is given we should print a better error message.
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/org/apache/spark/scheduler/SchedulingMode.scala2
-rw-r--r--core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala9
2 files changed, 8 insertions, 3 deletions
diff --git a/core/src/main/scala/org/apache/spark/scheduler/SchedulingMode.scala b/core/src/main/scala/org/apache/spark/scheduler/SchedulingMode.scala
index 3832ee7ff6..75186b6ba4 100644
--- a/core/src/main/scala/org/apache/spark/scheduler/SchedulingMode.scala
+++ b/core/src/main/scala/org/apache/spark/scheduler/SchedulingMode.scala
@@ -25,5 +25,5 @@ package org.apache.spark.scheduler
object SchedulingMode extends Enumeration {
type SchedulingMode = Value
- val FAIR,FIFO,NONE = Value
+ val FAIR, FIFO, NONE = Value
}
diff --git a/core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala b/core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala
index a3439b525f..fe72ab3e43 100644
--- a/core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala
+++ b/core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala
@@ -99,8 +99,13 @@ private[spark] class TaskSchedulerImpl(
var schedulableBuilder: SchedulableBuilder = null
var rootPool: Pool = null
// default scheduler is FIFO
- val schedulingMode: SchedulingMode = SchedulingMode.withName(
- conf.get("spark.scheduler.mode", "FIFO"))
+ private val schedulingModeConf = conf.get("spark.scheduler.mode", "FIFO")
+ val schedulingMode: SchedulingMode = try {
+ SchedulingMode.withName(schedulingModeConf.toUpperCase)
+ } catch {
+ case e: java.util.NoSuchElementException =>
+ throw new SparkException(s"Urecognized spark.scheduler.mode: $schedulingModeConf")
+ }
// This is a var so that we can reset it for testing purposes.
private[spark] var taskResultGetter = new TaskResultGetter(sc.env, this)