Ngone51 commented on a change in pull request #28255:
URL: https://github.com/apache/spark/pull/28255#discussion_r411058938
##########
File path: core/src/main/scala/org/apache/spark/rdd/ReliableCheckpointRDD.scala
##########
@@ -199,8 +199,8 @@ private[spark] object ReliableCheckpointRDD extends Logging
{
val finalOutputName =
ReliableCheckpointRDD.checkpointFileName(ctx.partitionId())
val finalOutputPath = new Path(outputDir, finalOutputName)
- val tempOutputPath =
- new Path(outputDir, s".$finalOutputName-attempt-${ctx.attemptNumber()}")
+ val tempOutputPath = new Path(outputDir,
+
s".$finalOutputName-attempt-${ctx.stageAttemptNumber()}-${ctx.attemptNumber()}")
Review comment:
`stageAttemptNumber` isn't unique among stages and `attemptNumber` isn't
unique among tasks within the same stage. So it seems that this could still
lead to the file name conflict. e.g. task 0.0 from stage 0.0 could conflict
with task 1.0 from stage 1.0 (different stage) and task 1.0 from stage 1.0
could conflict with task 2.0 from stage 1.0 (same stage).
I think the unique file format should be
`...-stageId-stageAttemptId-taskId-taskAttemptId-...`.
----------------------------------------------------------------
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]