aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/scala/spark/deploy/DeployMessage.scala
blob: 3cbf4fdd98be01a4424a83c18ca4aa784c022697 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package spark.deploy

import spark.deploy.ExecutorState.ExecutorState
import spark.deploy.master.{WorkerInfo, ApplicationInfo}
import spark.deploy.worker.ExecutorRunner
import scala.collection.immutable.List


private[spark] sealed trait DeployMessage extends Serializable

// Worker to Master

private[spark]
case class RegisterWorker(
    id: String,
    host: String,
    port: Int,
    cores: Int,
    memory: Int,
    webUiPort: Int,
    publicAddress: String)
  extends DeployMessage

private[spark] 
case class ExecutorStateChanged(
    appId: String,
    execId: Int,
    state: ExecutorState,
    message: Option[String],
    exitStatus: Option[Int])
  extends DeployMessage

private[spark] case class Heartbeat(workerId: String) extends DeployMessage

// Master to Worker

private[spark] case class RegisteredWorker(masterWebUiUrl: String) extends DeployMessage
private[spark] case class RegisterWorkerFailed(message: String) extends DeployMessage
private[spark] case class KillExecutor(appId: String, execId: Int) extends DeployMessage

private[spark] case class LaunchExecutor(
    appId: String,
    execId: Int,
    appDesc: ApplicationDescription,
    cores: Int,
    memory: Int,
    sparkHome: String)
  extends DeployMessage

// Client to Master

private[spark] case class RegisterApplication(appDescription: ApplicationDescription)
  extends DeployMessage

// Master to Client

private[spark] 
case class RegisteredApplication(appId: String) extends DeployMessage

private[spark] 
case class ExecutorAdded(id: Int, workerId: String, host: String, cores: Int, memory: Int)

private[spark]
case class ExecutorUpdated(id: Int, state: ExecutorState, message: Option[String],
                           exitStatus: Option[Int])

private[spark]
case class appKilled(message: String)

// Internal message in Client

private[spark] case object StopClient

// MasterWebUI To Master

private[spark] case object RequestMasterState

// Master to MasterWebUI

private[spark] 
case class MasterState(host: String, port: Int, workers: Array[WorkerInfo],
  activeApps: Array[ApplicationInfo], completedApps: Array[ApplicationInfo]) {

  def uri = "spark://" + host + ":" + port
}

//  WorkerWebUI to Worker
private[spark] case object RequestWorkerState

// Worker to WorkerWebUI

private[spark]
case class WorkerState(host: String, port: Int, workerId: String, executors: List[ExecutorRunner],
  finishedExecutors: List[ExecutorRunner], masterUrl: String, cores: Int, memory: Int, 
  coresUsed: Int, memoryUsed: Int, masterWebUiUrl: String)