in internal/cmds/cmds.go [339:360]
func CopyStateForUpdate(ctx log.Logger) error {
// Copy .mrseq files (Most Recently executed Sequence number) that helps determine whether a sequence number of Run Command has been previously executed or not.
mrseqFilesNameList, mrseqFileCopyErr := copyFiles(ctx, ".mrseq", "")
if mrseqFileCopyErr != nil {
return mrseqFileCopyErr
}
// Copy .status files of already executed sequence numbers
_, statusFileCopyErr := copyFiles(ctx, ".status", constants.StatusFileDirectory)
if statusFileCopyErr != nil {
return statusFileCopyErr
}
// If status file corresponding to a .mrseq file does not exist, create a dummy status file to prevent poll status timeouts for already executed Run Commands after upgrade.
if mrseqFilesNameList != nil && mrseqFilesNameList.Len() > 0 {
// This is best effort - Do not return error if any case of failures.
// Worst case that could happen is poll status timeouts for those few cases where creating dummy status file failed for some reason.
createDummyStatusFilesIfNeeded(ctx, mrseqFilesNameList)
}
return nil
}