venkata91 commented on a change in pull request #30691: URL: https://github.com/apache/spark/pull/30691#discussion_r641094842
########## File path: core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala ########## @@ -2136,9 +2137,24 @@ private[spark] class DAGScheduler( } } - private[scheduler] def handleShuffleMergeFinalized(stage: ShuffleMapStage): Unit = { - stage.shuffleDep.markShuffleMergeFinalized - processShuffleMapStageCompletion(stage) + private[scheduler] def handleRegisterMergeStatuses( + stage: ShuffleMapStage, + mergeStatuses: Seq[(Int, MergeStatus)]): Unit = { + // Register merge statuses if the stage is still running and shuffle merge is not finalized yet. + if (runningStages.contains(stage) && !stage.shuffleDep.shuffleMergeFinalized) { + mapOutputTracker.registerMergeResults(stage.shuffleDep.shuffleId, mergeStatuses) + } + } + + private[scheduler] def handleShuffleMergeFinalized( + stage: ShuffleMapStage): Unit = { + // Only update MapOutputTracker metadata if the stage is still active. i.e not cancelled. + if (runningStages.contains(stage)) { + stage.shuffleDep.markShuffleMergeFinalized() + processShuffleMapStageCompletion(stage) + } else { + mapOutputTracker.unregisterAllMergeResult(stage.shuffleDep.shuffleId) Review comment: Discussed offline with @mridulm and currently there are few corner cases which needs to be carefully thought through before having this behavior. Created a TODO and a corresponding follow up JIRA - https://issues.apache.org/jira/browse/SPARK-35549 -- 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: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org