Updated Branches: refs/heads/branch-0.8 e80d1cfdd -> 08481679c
Merge pull request #142 from liancheng/dagscheduler-pattern-matching Using case class deep match to simplify code in DAGScheduler.processEvent Since all `XxxEvent` pushed in `DAGScheduler.eventQueue` are case classes, deep pattern matching is more convenient to extract event object components. (cherry picked from commit 9f7b9bb1cd157e8278d43a3908d5f778b54aed55) Signed-off-by: Reynold Xin <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/08481679 Tree: http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/08481679 Diff: http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/08481679 Branch: refs/heads/branch-0.8 Commit: 08481679ccf077c057f7897821610ea6f5ba74bc Parents: e80d1cf Author: Reynold Xin <[email protected]> Authored: Tue Nov 5 10:42:19 2013 -0800 Committer: Reynold Xin <[email protected]> Committed: Tue Nov 5 10:42:36 2013 -0800 ---------------------------------------------------------------------- .../org/apache/spark/scheduler/DAGScheduler.scala | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/08481679/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala ---------------------------------------------------------------------- diff --git a/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala b/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala index dc86c08..0a34a06 100644 --- a/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala +++ b/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala @@ -416,15 +416,14 @@ class DAGScheduler( case ExecutorLost(execId) => handleExecutorLost(execId) - case begin: BeginEvent => - listenerBus.post(SparkListenerTaskStart(begin.task, begin.taskInfo)) + case BeginEvent(task, taskInfo) => + listenerBus.post(SparkListenerTaskStart(task, taskInfo)) - case gettingResult: GettingResultEvent => - listenerBus.post(SparkListenerTaskGettingResult(gettingResult.task, gettingResult.taskInfo)) + case GettingResultEvent(task, taskInfo) => + listenerBus.post(SparkListenerTaskGettingResult(task, taskInfo)) - case completion: CompletionEvent => - listenerBus.post(SparkListenerTaskEnd( - completion.task, completion.reason, completion.taskInfo, completion.taskMetrics)) + case completion @ CompletionEvent(task, reason, _, _, taskInfo, taskMetrics) => + listenerBus.post(SparkListenerTaskEnd(task, reason, taskInfo, taskMetrics)) handleTaskCompletion(completion) case TaskSetFailed(taskSet, reason) =>
