Skip to content


= [[MapOutputTrackerMasterEndpoint]] MapOutputTrackerMasterEndpoint

MapOutputTrackerMasterEndpoint is a[RpcEndpoint] for[MapOutputTrackerMaster] to <> the following messages:

  • <>
  • <>

== [[creating-instance]] Creating Instance

MapOutputTrackerMasterEndpoint takes the following to be created:

  • [[rpcEnv]][]
  • [[tracker]][MapOutputTrackerMaster]
  • [[conf]][SparkConf]

While being created, MapOutputTrackerMasterEndpoint prints out the following DEBUG message to the logs:


== [[messages]][[receiveAndReply]] Messages

=== [[GetMapOutputStatuses]] GetMapOutputStatuses

[source, scala]

GetMapOutputStatuses(shuffleId: Int)

When received, MapOutputTrackerMasterEndpoint prints out the following INFO message to the logs:


Asked to send map output locations for shuffle [shuffleId] to [hostPort]

MapOutputTrackerMasterEndpoint requests the <> to[post a GetMapOutputMessage].

GetMapOutputStatuses is posted when MapOutputTrackerWorker is requested for[shuffle map outputs for a given shuffle ID].

=== [[StopMapOutputTracker]] StopMapOutputTracker

[source, scala]


When StopMapOutputTracker arrives, you should see the following INFO message in the logs:

INFO MapOutputTrackerMasterEndpoint stopped!

MapOutputTrackerMasterEndpoint confirms the request (by replying true) and[stops itself] (and stops accepting messages).

StopMapOutputTracker is posted when MapOutputTrackerMaster is requested to[stop].

== [[logging]] Logging

Enable ALL logging level for org.apache.spark.MapOutputTrackerMasterEndpoint logger to see what happens inside.

Add the following line to conf/


Refer to[Logging].

Last update: 2020-10-06