You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by GitBox <gi...@apache.org> on 2019/02/26 12:12:49 UTC

[GitHub] cloud-fan commented on a change in pull request #23871: [SPARK-23433][SPARK-25250] [CORE] Later created TaskSet should learn about the finished partitions

cloud-fan commented on a change in pull request #23871: [SPARK-23433][SPARK-25250] [CORE] Later created TaskSet should learn about the finished partitions 
URL: https://github.com/apache/spark/pull/23871#discussion_r260256723
 
 

 ##########
 File path: core/src/main/scala/org/apache/spark/scheduler/TaskSetManager.scala
 ##########
 @@ -189,6 +189,18 @@ private[spark] class TaskSetManager(
     addPendingTask(i)
   }
 
+  {
+    // TaskSet got submitted by DAGScheduler may have some already completed
+    // tasks since DAGScheduler does not always know all the tasks that have
+    // been completed by other tasksets when completing a stage, so we mark
+    // those tasks as finished here to avoid launching duplicate tasks, while
+    // holding the TaskSchedulerImpl lock.
+    // See SPARK-25250 and markPartitionCompletedInAllTaskSets()`
+    sched.stageIdToFinishedPartitions
+      .getOrElseUpdate(taskSet.stageId, new BitSet)
 
 Review comment:
   we can avoid creating empty bit set
   ```
   sched.stageIdToFinishedPartitions.get(taskSet.stageId).foreach {
     finishedPartitions => finishedPartitions.foreach(markPartitionCompleted(_, None))
   }
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org