-
- Downloads
[SPARK-9026][SPARK-4514] Modifications to JobWaiter, FutureAction, and...
[SPARK-9026][SPARK-4514] Modifications to JobWaiter, FutureAction, and AsyncRDDActions to support non-blocking operation These changes rework the implementations of `SimpleFutureAction`, `ComplexFutureAction`, `JobWaiter`, and `AsyncRDDActions` such that asynchronous callbacks on the generated `Futures` NEVER block waiting for a job to complete. A small amount of mutex synchronization is necessary to protect the internal fields that manage cancellation, but these locks are only held very briefly and in practice should almost never cause any blocking to occur. The existing blocking APIs of these classes are retained, but they simply delegate to the underlying non-blocking API and `Await` the results with indefinite timeouts. Associated JIRA ticket: https://issues.apache.org/jira/browse/SPARK-9026 Also fixes: https://issues.apache.org/jira/browse/SPARK-4514 This pull request contains all my own original work, which I release to the Spark project under its open source license. Author: Richard W. Eggert II <richard.eggert@gmail.com> Closes #9264 from reggert/fix-futureaction.
Showing
- core/src/main/scala/org/apache/spark/FutureAction.scala 61 additions, 103 deletionscore/src/main/scala/org/apache/spark/FutureAction.scala
- core/src/main/scala/org/apache/spark/rdd/AsyncRDDActions.scala 27 additions, 21 deletions...src/main/scala/org/apache/spark/rdd/AsyncRDDActions.scala
- core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala 5 additions, 3 deletions.../main/scala/org/apache/spark/scheduler/DAGScheduler.scala
- core/src/main/scala/org/apache/spark/scheduler/JobWaiter.scala 19 additions, 29 deletions...src/main/scala/org/apache/spark/scheduler/JobWaiter.scala
- core/src/test/scala/org/apache/spark/Smuggle.scala 82 additions, 0 deletionscore/src/test/scala/org/apache/spark/Smuggle.scala
- core/src/test/scala/org/apache/spark/StatusTrackerSuite.scala 26 additions, 0 deletions.../src/test/scala/org/apache/spark/StatusTrackerSuite.scala
- core/src/test/scala/org/apache/spark/rdd/AsyncRDDActionsSuite.scala 31 additions, 2 deletions...est/scala/org/apache/spark/rdd/AsyncRDDActionsSuite.scala
Loading
Please register or sign in to comment