diff options
author | jerryshao <sshao@hortonworks.com> | 2015-08-14 13:44:38 -0700 |
---|---|---|
committer | Andrew Or <andrew@databricks.com> | 2015-08-14 13:44:38 -0700 |
commit | 9407baa2a7c26f527f2d043715d313d75bd765bb (patch) | |
tree | 471f02dd443cf005349968b4ca78624d5df2821b | |
parent | 6518ef63037aa56b541927f99ad26744f91098ce (diff) | |
download | spark-9407baa2a7c26f527f2d043715d313d75bd765bb.tar.gz spark-9407baa2a7c26f527f2d043715d313d75bd765bb.tar.bz2 spark-9407baa2a7c26f527f2d043715d313d75bd765bb.zip |
[SPARK-9877] [CORE] Fix StandaloneRestServer NPE when submitting application
Detailed exception log can be seen in [SPARK-9877](https://issues.apache.org/jira/browse/SPARK-9877), the problem is when creating `StandaloneRestServer`, `self` (`masterEndpoint`) is null. So this fix is creating `StandaloneRestServer` when `self` is available.
Author: jerryshao <sshao@hortonworks.com>
Closes #8127 from jerryshao/SPARK-9877.
-rw-r--r-- | core/src/main/scala/org/apache/spark/deploy/master/Master.scala | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/core/src/main/scala/org/apache/spark/deploy/master/Master.scala b/core/src/main/scala/org/apache/spark/deploy/master/Master.scala index 9217202b69..26904d39a9 100644 --- a/core/src/main/scala/org/apache/spark/deploy/master/Master.scala +++ b/core/src/main/scala/org/apache/spark/deploy/master/Master.scala @@ -127,14 +127,8 @@ private[deploy] class Master( // Alternative application submission gateway that is stable across Spark versions private val restServerEnabled = conf.getBoolean("spark.master.rest.enabled", true) - private val restServer = - if (restServerEnabled) { - val port = conf.getInt("spark.master.rest.port", 6066) - Some(new StandaloneRestServer(address.host, port, conf, self, masterUrl)) - } else { - None - } - private val restServerBoundPort = restServer.map(_.start()) + private var restServer: Option[StandaloneRestServer] = None + private var restServerBoundPort: Option[Int] = None override def onStart(): Unit = { logInfo("Starting Spark master at " + masterUrl) @@ -148,6 +142,12 @@ private[deploy] class Master( } }, 0, WORKER_TIMEOUT_MS, TimeUnit.MILLISECONDS) + if (restServerEnabled) { + val port = conf.getInt("spark.master.rest.port", 6066) + restServer = Some(new StandaloneRestServer(address.host, port, conf, self, masterUrl)) + } + restServerBoundPort = restServer.map(_.start()) + masterMetricsSystem.registerSource(masterSource) masterMetricsSystem.start() applicationMetricsSystem.start() |