New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Repair MREs from #823 #1203
Conversation
- Can't have the b.txt in first text be temp and expect it present, it will correctly be deleted. - Add third MRE which is targeting more of a log issue
The main scheduler loop terminates if there are no more runnable jobs. This tests if there still are jobs that should be run, but that we cannot seem to get to. If so, print an error message, print the files affected, and exit 1. The latter is important so Snakemake can, as hotfix, be rerun in a loop until it's actually completed all tasks.
The aggressive early deletion of temp files must ignore checkpoints. Other rules depend on a checkpoint only via the first output file of the checkpoint (flagged string) as a stub. All other outputs marked as temp would be deleted (and have been before this patch). Since those files are missing, the dependent rules will never be runnable and the workflow ends before all targets have been built.
@johanneskoester Snakemake exits when no more runnable or running jobs exist. One indicator of the 823 issue is that there still are jobs that should be run left. I'm checking for this here, printing an error and exiting with 1. You may want to change the issue url to point to an issue of your own, where you've got the top post to inform about the bug. I was able to fix the MREs posted in the issue, but I feel like this isn't the last we've heard of this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot! Very good catch.
Kudos, SonarCloud Quality Gate passed!
|
Kudos, SonarCloud Quality Gate passed!
|
Description
see #823
Three MREs:
temp()
output lead to incomplete DAG executionpipe()
lead to incomplete DAG executionQC
docs/
) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).