LauncherBackend

LauncherBackend is the abstraction of launcher backends that can FIXME.

Table 1. LauncherBackend Contract (Abstract Methods Only)
Method Description

conf

conf: SparkConf

Used exclusively when LauncherBackend is requested to connect (to access spark.launcher.port and spark.launcher.secret configuration properties)

onStopRequest

onStopRequest(): Unit

Handles stop requests (to stop the Spark application as gracefully as possible)

Used exclusively when LauncherBackend is requested to fireStopRequest

LauncherBackend takes no arguments to be created.

LauncherBackend is a Scala abstract class and cannot be created directly. It is created indirectly for the concrete LauncherBackends.
Table 2. LauncherBackend’s Internal Properties (e.g. Registries, Counters and Flags)
Name Description

_isConnected

Flag that says whether…​FIXME (true) or not (false)

Default: false

Used when…​FIXME

clientThread

Java’s java.lang.Thread

Used when…​FIXME

connection

BackendConnection

Used when…​FIXME

lastState

SparkAppHandle.State

Used when…​FIXME

LauncherBackend is created (as an anonymous class) for the following:

Closing — close Method

close(): Unit

close…​FIXME

close is used when…​FIXME

Connecting — connect Method

connect(): Unit

connect…​FIXME

connect is used when:

  • Spark Standalone’s StandaloneSchedulerBackend is requested to start (in client deploy mode)

  • Spark local’s LocalSchedulerBackend is created

  • Spark on Mesos' MesosCoarseGrainedSchedulerBackend is requested to start (in client deploy mode)

  • Spark on YARN’s Client is requested to submit a Spark application

fireStopRequest Internal Method

fireStopRequest(): Unit

fireStopRequest…​FIXME

fireStopRequest is used exclusively when BackendConnection is requested to handle a Stop message.

Handling Disconnects From Scheduling Backend — onDisconnected Method

onDisconnected(): Unit

onDisconnected does nothing by default and is expected to be overriden by implementations.

onDisconnected is used when…​FIXME

setAppId Method

setAppId(appId: String): Unit

setAppId…​FIXME

setAppId is used when…​FIXME

setState Method

setState(state: SparkAppHandle.State): Unit

setState…​FIXME

setState is used when…​FIXME