diff options
author | Dale <tigerquoll@outlook.com> | 2015-01-04 13:28:37 -0800 |
---|---|---|
committer | Josh Rosen <joshrosen@databricks.com> | 2015-01-04 13:29:13 -0800 |
commit | 3fddc9468fa50e7683caa973fec6c52e1132268d (patch) | |
tree | f8f0c8ff84564f811f79272fdd1b5b0bfb253c79 | |
parent | b96008d5529bac5fd57b76554fd01760139cffff (diff) | |
download | spark-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.scala | 9 |
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 |