aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale <tigerquoll@outlook.com>2015-01-04 13:28:37 -0800
committerJosh Rosen <joshrosen@databricks.com>2015-01-04 13:29:13 -0800
commit3fddc9468fa50e7683caa973fec6c52e1132268d (patch)
treef8f0c8ff84564f811f79272fdd1b5b0bfb253c79
parentb96008d5529bac5fd57b76554fd01760139cffff (diff)
downloadspark-3fddc9468fa50e7683caa973fec6c52e1132268d.tar.gz
spark-3fddc9468fa50e7683caa973fec6c52e1132268d.tar.bz2
spark-3fddc9468fa50e7683caa973fec6c52e1132268d.zip
[SPARK-4787] Stop SparkContext if a DAGScheduler init error occurs
Author: Dale <tigerquoll@outlook.com> Closes #3809 from tigerquoll/SPARK-4787 and squashes the following commits: 5661e01 [Dale] [SPARK-4787] Ensure that call to stop() doesn't lose the exception by using a finally block. 2172578 [Dale] [SPARK-4787] Stop context properly if an exception occurs during DAGScheduler initialization.
-rw-r--r--core/src/main/scala/org/apache/spark/SparkContext.scala9
1 files changed, 7 insertions, 2 deletions
diff --git a/core/src/main/scala/org/apache/spark/SparkContext.scala b/core/src/main/scala/org/apache/spark/SparkContext.scala
index df1cb3cda2..4c25d5d6c0 100644
--- a/core/src/main/scala/org/apache/spark/SparkContext.scala
+++ b/core/src/main/scala/org/apache/spark/SparkContext.scala
@@ -329,8 +329,13 @@ class SparkContext(config: SparkConf) extends Logging with ExecutorAllocationCli
try {
dagScheduler = new DAGScheduler(this)
} catch {
- case e: Exception => throw
- new SparkException("DAGScheduler cannot be initialized due to %s".format(e.getMessage))
+ case e: Exception => {
+ try {
+ stop()
+ } finally {
+ throw new SparkException("Error while constructing DAGScheduler", e)
+ }
+ }
}
// start TaskScheduler after taskScheduler sets DAGScheduler reference in DAGScheduler's