Skip to content

Adjust preemptible settings for assembly/metagenomics tasks#654

Merged
dpark01 merged 1 commit into
masterfrom
dp-preemptible-cleanup
Apr 1, 2026
Merged

Adjust preemptible settings for assembly/metagenomics tasks#654
dpark01 merged 1 commit into
masterfrom
dp-preemptible-cleanup

Conversation

@dpark01

@dpark01 dpark01 commented Apr 1, 2026

Copy link
Copy Markdown
Member

Summary

  • Bump preemptible from 1-2 to 3 on expensive tasks: align_reads, kraken2, filter_bam_to_taxa, select_references
  • Remove preemptible entirely from cheap/fast tasks: run_discordance, report_primary_kraken_taxa, plot_coverage, tar_extract

Motivation

Preemptible VMs on Terra/Cromwell no longer automatically fall back to non-preemptible VMs after exhausting attempts -- they just fail. With values of 1-2, we were seeing hard failures on preemption. We cannot use maxRetries as a fallback mechanism either, since it disables Cromwell call caching entirely (see #641).

For expensive tasks, bumping to 3 gives more chances to land a preemptible VM while keeping cost savings. For trivial tasks, the cost savings from preemptible are negligible so we remove it to avoid unnecessary failure risk.

Demux tasks were already set to preemptible: 0 and are unchanged.

Test plan

  • miniwdl check passes on assemble_refbased and assemble_denovo_metagenomic workflows
  • Monitor next Terra submissions for reduced preemption failures

Generated with Claude Code

…vial tasks

Preemptible VMs no longer fall back to non-preemptible after exhausting
attempts, so low values (1-2) just cause failures. Bump to 3 for expensive
tasks (align_reads, kraken2, filter_bam_to_taxa, select_references) and
remove preemptible entirely from cheap/fast tasks (run_discordance,
report_primary_kraken_taxa, plot_coverage, tar_extract) where the cost
savings are negligible.
Copilot AI review requested due to automatic review settings April 1, 2026 21:15
@dpark01
dpark01 enabled auto-merge April 1, 2026 21:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts WDL task runtime { preemptible: ... } settings to reduce hard failures due to VM preemption behavior changes on Terra/Cromwell, while preserving cost savings for more expensive tasks.

Changes:

  • Increased preemptible attempts to 3 for expensive compute-heavy tasks (align_reads, kraken2, filter_bam_to_taxa, select_references).
  • Removed preemptible from several cheap/fast tasks to avoid avoidable preemption-related failures (tar_extract, plot_coverage, report_primary_kraken_taxa, run_discordance).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
pipes/WDL/tasks/tasks_utils.wdl Removes preemptible from tar_extract runtime to avoid preemption failures on a fast utility task.
pipes/WDL/tasks/tasks_reports.wdl Removes preemptible from plot_coverage runtime to reduce failure risk on a reporting task.
pipes/WDL/tasks/tasks_metagenomics.wdl Increases preemptible for kraken2 and filter_bam_to_taxa; removes it from report_primary_kraken_taxa.
pipes/WDL/tasks/tasks_assembly.wdl Increases preemptible for select_references and align_reads; removes it from run_discordance.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dpark01
dpark01 merged commit 733f16a into master Apr 1, 2026
19 checks passed
@dpark01
dpark01 deleted the dp-preemptible-cleanup branch April 1, 2026 21:43
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 this pull request may close these issues.

2 participants