xuanyuanking commented on a change in pull request #24892: [SPARK-25341][Core]
Support rolling back a shuffle map stage and re-generate the shuffle files
URL: https://github.com/apache/spark/pull/24892#discussion_r296475810
##########
File path: core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala
##########
@@ -1137,12 +1144,28 @@ private[spark] class DAGScheduler(
}
stage.makeNewStageAttempt(partitionsToCompute.size,
taskIdToLocations.values.toSeq)
-
- // If there are tasks to execute, record the submission time of the stage.
Otherwise,
- // post the even without the submission time, which indicates that this
stage was
- // skipped.
if (partitionsToCompute.nonEmpty) {
+ // If there are tasks to execute, record the submission time of the
stage. Otherwise,
+ // post the even without the submission time, which indicates that this
stage was
+ // skipped.
stage.latestInfo.submissionTime = Some(clock.getTimeMillis())
+
+ // While an indeterminate stage retried, the stage attempt id will be
used to extend the
+ // shuffle file in shuffle write task, and then the mapping of shuffle
id to indeterminate
+ // stage id will be used for shuffle reader task.
+ if (stage.latestInfo.attemptNumber() > 0 && stage.isIndeterminate) {
+ // deal with shuffle writer side property.
+ stage match {
+ case sms: ShuffleMapStage =>
+ val stageAttemptId = stage.latestInfo.attemptNumber()
Review comment:
Thanks, done in 4c4af33.
----------------------------------------------------------------
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]