Skip to content
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

Fail the run if the publish thread pool times out #5577

Open
bentsherman opened this issue Dec 5, 2024 · 0 comments · May be fixed by #5578
Open

Fail the run if the publish thread pool times out #5577

bentsherman opened this issue Dec 5, 2024 · 0 comments · May be fixed by #5578

Comments

@bentsherman
Copy link
Member

The entire purpose of a pipeline run is to produce a particular set of results. If any of these results are missing for any reason, the run should be considered a failure. Otherwise the user has a false sense of success when in fact some results may be missing.

When all jobs are complete, the run waits for these two thread pools to finish:

// shutdown thread pools
finalizePoolManager?.shutdown(aborted)
publishPoolManager?.shutdown(aborted)

By default they will hard shutdown after 12 hours:

final delta = System.currentTimeMillis()-t0
if( delta > max ) {
log.warn(exitMsg)
break
}

Currently only a warning is logged, but the run is still considered successful as long as all jobs completed successfully (or were ignored).

Instead, the run should fail in this case. As a compromise, we could fail the run only if workflow.output.ignoreErrors is false, so that the user can keep the existing behavior if they want. But the default behavior should be to not declare success until all results have been published.

@bentsherman bentsherman linked a pull request Dec 5, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant