aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorjerryshao <sshao@hortonworks.com>2015-08-14 13:44:38 -0700
committerAndrew Or <andrew@databricks.com>2015-08-14 13:44:38 -0700
commit9407baa2a7c26f527f2d043715d313d75bd765bb (patch)
tree471f02dd443cf005349968b4ca78624d5df2821b /core
parent6518ef63037aa56b541927f99ad26744f91098ce (diff)
downloadspark-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.
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/org/apache/spark/deploy/master/Master.scala16
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()