aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/scala/org/apache/spark/scheduler/local/LocalBackend.scala3
-rw-r--r--core/src/test/scala/org/apache/spark/SparkContextSchedulerCreationSuite.scala16
2 files changed, 18 insertions, 1 deletions
diff --git a/core/src/main/scala/org/apache/spark/scheduler/local/LocalBackend.scala b/core/src/main/scala/org/apache/spark/scheduler/local/LocalBackend.scala
index 43f0e18a0c..9b95ccca04 100644
--- a/core/src/main/scala/org/apache/spark/scheduler/local/LocalBackend.scala
+++ b/core/src/main/scala/org/apache/spark/scheduler/local/LocalBackend.scala
@@ -97,7 +97,8 @@ private[spark] class LocalBackend(scheduler: TaskSchedulerImpl, val totalCores:
localActor ! ReviveOffers
}
- override def defaultParallelism() = totalCores
+ override def defaultParallelism() =
+ scheduler.conf.getInt("spark.default.parallelism", totalCores)
override def killTask(taskId: Long, executorId: String, interruptThread: Boolean) {
localActor ! KillTask(taskId, interruptThread)
diff --git a/core/src/test/scala/org/apache/spark/SparkContextSchedulerCreationSuite.scala b/core/src/test/scala/org/apache/spark/SparkContextSchedulerCreationSuite.scala
index 94fba10286..67e3be21c3 100644
--- a/core/src/test/scala/org/apache/spark/SparkContextSchedulerCreationSuite.scala
+++ b/core/src/test/scala/org/apache/spark/SparkContextSchedulerCreationSuite.scala
@@ -77,6 +77,22 @@ class SparkContextSchedulerCreationSuite
}
}
+ test("local-default-parallelism") {
+ val defaultParallelism = System.getProperty("spark.default.parallelism")
+ System.setProperty("spark.default.parallelism", "16")
+ val sched = createTaskScheduler("local")
+
+ sched.backend match {
+ case s: LocalBackend => assert(s.defaultParallelism() === 16)
+ case _ => fail()
+ }
+
+ Option(defaultParallelism) match {
+ case Some(v) => System.setProperty("spark.default.parallelism", v)
+ case _ => System.clearProperty("spark.default.parallelism")
+ }
+ }
+
test("simr") {
createTaskScheduler("simr://uri").backend match {
case s: SimrSchedulerBackend => // OK