BF: job_templates: Call tar with --ignore-failed-read #451
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After a command completes, it writes to "status.$subjob". If, after
completing its command, a subjob sees that the status files for all
the other subjobs are in, it claims responsibility for the
post-processing step. For the datalad-run orchestrators,
post-processing includes calling
find
to get a list of newly addedfiles and then calling
tar
with these files as input.Given that the above procedure waits until each command exits, the
hope is that all the output files are created and any temporary files
will have been cleaned up. But we're hitting into cases [*] where
apparently intermediate files are present for the
find
call but goneby the time
tar
is called. This leads totar
exiting with anon-zero status and the post-processing being aborted.
Until someone has a better idea of how to deal with this, instruct
tar
to exit with zero even if an expected file isn't present. Thisallows post-processing to succeed and the incident will still show up
in the captured stderr.
[*] #438 (comment)