xuanyuanking commented on a change in pull request #25620: [SPARK-25341][Core] 
Support rolling back a shuffle map stage and re-generate the shuffle files
URL: https://github.com/apache/spark/pull/25620#discussion_r321969927
 
 

 ##########
 File path: core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala
 ##########
 @@ -1105,7 +1105,16 @@ private[spark] class DAGScheduler(
   private def submitMissingTasks(stage: Stage, jobId: Int) {
     logDebug("submitMissingTasks(" + stage + ")")
 
-    // First figure out the indexes of partition ids to compute.
+    // Before find missing partition, do the intermediate state clean work 
first.
+    // The operation here can make sure for the intermediate stage, 
`findMissingPartitions()`
+    // returns all partitions every time.
+    stage match {
 
 Review comment:
   Actually the place points out by Xingbo is just my first-time attempt :), I 
found that's not enough to fix this problem during doing the integrate test.
   This is because the logic we calculate `stagesToRollback` in 
`collectStagesToRollback`, only care about the downstream stages of the current 
fetch failed stage. For upstream indeterminate stages, put the unregister logic 
in failure handling didn't cover. So the correctness bug will still happen.
   Also the newly added UT `SPARK-25341: retry all the succeeding stages when 
the map stage is indeterminate` also covered this check, if we do the 
unregister in failure handling, the UT will fail.

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


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to