aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorPrashant Sharma <scrapcodes@gmail.com>2013-12-14 10:44:24 +0530
committerPrashant Sharma <scrapcodes@gmail.com>2013-12-14 10:44:24 +0530
commit1ae3c0fc5e0273319d0e9497268a4c9854aae2e0 (patch)
treed7747a7b01582a0d433773378fa2af7ca55abda5 /core
parent76566b1fc97c487d0cd2176e9352ad07862a9025 (diff)
downloadspark-1ae3c0fc5e0273319d0e9497268a4c9854aae2e0.tar.gz
spark-1ae3c0fc5e0273319d0e9497268a4c9854aae2e0.tar.bz2
spark-1ae3c0fc5e0273319d0e9497268a4c9854aae2e0.zip
Added a comment about ActorRef and ActorSelection difference.
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/org/apache/spark/MapOutputTracker.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/core/src/main/scala/org/apache/spark/MapOutputTracker.scala b/core/src/main/scala/org/apache/spark/MapOutputTracker.scala
index fbda11f578..10fae5af9f 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)