diff options
author | Sandeep <sandeep@techaddict.me> | 2014-04-16 09:58:57 -0700 |
---|---|---|
committer | Patrick Wendell <pwendell@gmail.com> | 2014-04-16 09:58:57 -0700 |
commit | e269c24db7882ba05b26eff8fc6e1869103517f8 (patch) | |
tree | ade888402265d7935f587453a4ba03b3c56ea85e | |
parent | 82349fbd2b90ce28cff54bc95753d84e34e4cab9 (diff) | |
download | spark-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.
-rw-r--r-- | core/src/main/scala/org/apache/spark/scheduler/SchedulingMode.scala | 2 | ||||
-rw-r--r-- | core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala | 9 |
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) |