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) =>

Reply via email to