-
- Downloads
Merge pull request #336 from liancheng/akka-remote-lookup
Get rid of `Either[ActorRef, ActorSelection]' In this pull request, instead of returning an `Either[ActorRef, ActorSelection]`, `registerOrLookup` identifies the remote actor blockingly to obtain an `ActorRef`, or throws an exception if the remote actor doesn't exist or the lookup times out (configured by `spark.akka.lookupTimeout`). This function is only called when an `SparkEnv` is constructed (instantiating driver or executor), so the blocking call is considered acceptable. Executor side `ActorSelection`s/`ActorRef`s to driver side `MapOutputTrackerMasterActor` and `BlockManagerMasterActor` are affected by this pull request. `ActorSelection` is dangerous and should be used with care. It's only absolutely safe to send messages via an `ActorSelection` when the remote actor is stateless, so that actor incarnation is irrelevant. But as pointed by @ScrapCodes in the comments below, executor exits immediately once the connection to the driver lost, `ActorSelection`s are not harmful in this scenario. So this pull request is mostly a code style patch.
No related branches found
No related tags found
Showing
- core/src/main/scala/org/apache/spark/MapOutputTracker.scala 2 additions, 12 deletionscore/src/main/scala/org/apache/spark/MapOutputTracker.scala
- core/src/main/scala/org/apache/spark/SparkEnv.scala 8 additions, 8 deletionscore/src/main/scala/org/apache/spark/SparkEnv.scala
- core/src/main/scala/org/apache/spark/storage/BlockManagerMaster.scala 2 additions, 6 deletions...n/scala/org/apache/spark/storage/BlockManagerMaster.scala
- core/src/main/scala/org/apache/spark/storage/ThreadingTest.scala 1 addition, 1 deletion...c/main/scala/org/apache/spark/storage/ThreadingTest.scala
- core/src/main/scala/org/apache/spark/util/AkkaUtils.scala 5 additions, 0 deletionscore/src/main/scala/org/apache/spark/util/AkkaUtils.scala
- core/src/test/scala/org/apache/spark/MapOutputTrackerSuite.scala 10 additions, 7 deletions...c/test/scala/org/apache/spark/MapOutputTrackerSuite.scala
- core/src/test/scala/org/apache/spark/storage/BlockManagerSuite.scala 1 addition, 1 deletion...st/scala/org/apache/spark/storage/BlockManagerSuite.scala
- core/src/test/scala/org/apache/spark/storage/DiskBlockManagerSuite.scala 1 addition, 3 deletions...cala/org/apache/spark/storage/DiskBlockManagerSuite.scala
Please register or sign in to comment