Repository: spark Updated Branches: refs/heads/master 4b7475512 -> 6ca27f855
[SPARK-10964] [YARN] Correctly register the AM with the driver. The `self` method returns null when called from the constructor; instead, registration should happen in the `onStart` method, at which point the `self` reference has already been initialized. Author: Marcelo Vanzin <[email protected]> Closes #9005 from vanzin/SPARK-10964. Project: http://git-wip-us.apache.org/repos/asf/spark/repo Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/6ca27f85 Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/6ca27f85 Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/6ca27f85 Branch: refs/heads/master Commit: 6ca27f855075d65eb4535f1f2ed4fc9e68744231 Parents: 4b74755 Author: Marcelo Vanzin <[email protected]> Authored: Wed Oct 7 11:38:47 2015 -0700 Committer: Marcelo Vanzin <[email protected]> Committed: Wed Oct 7 11:38:47 2015 -0700 ---------------------------------------------------------------------- .../apache/spark/scheduler/cluster/YarnSchedulerBackend.scala | 2 +- .../scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/spark/blob/6ca27f85/core/src/main/scala/org/apache/spark/scheduler/cluster/YarnSchedulerBackend.scala ---------------------------------------------------------------------- diff --git a/core/src/main/scala/org/apache/spark/scheduler/cluster/YarnSchedulerBackend.scala b/core/src/main/scala/org/apache/spark/scheduler/cluster/YarnSchedulerBackend.scala index 6a4b536..e0107f9 100644 --- a/core/src/main/scala/org/apache/spark/scheduler/cluster/YarnSchedulerBackend.scala +++ b/core/src/main/scala/org/apache/spark/scheduler/cluster/YarnSchedulerBackend.scala @@ -169,7 +169,7 @@ private[spark] abstract class YarnSchedulerBackend( override def receive: PartialFunction[Any, Unit] = { case RegisterClusterManager(am) => logInfo(s"ApplicationMaster registered as $am") - amEndpoint = Some(am) + amEndpoint = Option(am) case AddWebUIFilter(filterName, filterParams, proxyBase) => addWebUIFilter(filterName, filterParams, proxyBase) http://git-wip-us.apache.org/repos/asf/spark/blob/6ca27f85/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala ---------------------------------------------------------------------- diff --git a/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala b/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala index 0df3173..a2ccdc0 100644 --- a/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala +++ b/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala @@ -556,7 +556,9 @@ private[spark] class ApplicationMaster( override val rpcEnv: RpcEnv, driver: RpcEndpointRef, isClusterMode: Boolean) extends RpcEndpoint with Logging { - driver.send(RegisterClusterManager(self)) + override def onStart(): Unit = { + driver.send(RegisterClusterManager(self)) + } override def receive: PartialFunction[Any, Unit] = { case x: AddWebUIFilter => --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
