Updated Branches: refs/heads/scala-2.10 76566b1fc -> 6defb061f
Added a comment about ActorRef and ActorSelection difference. Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/1ae3c0fc Tree: http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/1ae3c0fc Diff: http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/1ae3c0fc Branch: refs/heads/scala-2.10 Commit: 1ae3c0fc5e0273319d0e9497268a4c9854aae2e0 Parents: 76566b1 Author: Prashant Sharma <[email protected]> Authored: Sat Dec 14 10:44:24 2013 +0530 Committer: Prashant Sharma <[email protected]> Committed: Sat Dec 14 10:44:24 2013 +0530 ---------------------------------------------------------------------- core/src/main/scala/org/apache/spark/MapOutputTracker.scala | 7 +++++++ 1 file changed, 7 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/1ae3c0fc/core/src/main/scala/org/apache/spark/MapOutputTracker.scala ---------------------------------------------------------------------- diff --git a/core/src/main/scala/org/apache/spark/MapOutputTracker.scala b/core/src/main/scala/org/apache/spark/MapOutputTracker.scala index fbda11f..10fae5a 100644 --- a/core/src/main/scala/org/apache/spark/MapOutputTracker.scala +++ b/core/src/main/scala/org/apache/spark/MapOutputTracker.scala @@ -72,6 +72,13 @@ private[spark] class MapOutputTracker extends Logging { // throw a SparkException if this fails. private def askTracker(message: Any): Any = { try { + /* + The difference between ActorRef and ActorSelection is well explained here: + http://doc.akka.io/docs/akka/2.2.3/project/migration-guide-2.1.x-2.2.x.html#Use_actorSelection_instead_of_actorFor + In spark a map output tracker can be either started on Driver where it is created which + is an ActorRef or it can be on executor from where it is looked up which is an + actorSelection. + */ val future = trackerActor match { case Left(a: ActorRef) => a.ask(message)(timeout) case Right(b: ActorSelection) => b.ask(message)(timeout)
