Skip to content

Commit

Permalink
GH-282: move max retries out of wdls and into config (#151)
Browse files Browse the repository at this point in the history
* remove max_retries from adapters

* modify submit wdl to use default maxRetries except for confirm

* remove max_retries inputs

* Remove max_retries from stub submit wdl

* Include confirm_submission in retried tasks

The confirm_submission step has improved error
handling and will no longer throw an error on
retries, so it can be retried along with other
tasks in the workflow.

* Remove extra comma

* Update pipeline-tools version
  • Loading branch information
Charley Yan authored and samanehsan committed Aug 1, 2019
1 parent e56129f commit f14403c
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 26 deletions.
3 changes: 1 addition & 2 deletions adapter_pipelines/Optimus/adapter.wdl
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,9 @@ workflow AdapterOptimus {
String runtime_environment
# By default, don't record http requests, unless we override in inputs json
Boolean record_http = false
Int max_cromwell_retries = 0
Boolean add_md5s = false
String pipeline_tools_version = "v0.56.1"
String pipeline_tools_version = "v0.56.2"
call GetInputs as prep {
input:
Expand Down
7 changes: 2 additions & 5 deletions adapter_pipelines/cellranger/adapter.wdl
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,9 @@ workflow Adapter10xCount {
String runtime_environment
# By default, don't record http requests, unless we override in inputs json
Boolean record_http = false
Int max_cromwell_retries = 0
Boolean add_md5s = false
String pipeline_tools_version = "v0.56.1"
String pipeline_tools_version = "v0.56.2"
call GetInputs {
input:
Expand Down Expand Up @@ -181,8 +180,7 @@ workflow Adapter10xCount {
fastqs = rename_fastqs.outputs,
reference_name = GetInputs.reference_name,
transcriptome_tar_gz = GetInputs.transcriptome_tar_gz,
expect_cells = GetInputs.expect_cells,
max_retries = max_cromwell_retries
expect_cells = GetInputs.expect_cells
}
call InputsForSubmit {
Expand Down Expand Up @@ -254,7 +252,6 @@ workflow Adapter10xCount {
pipeline_tools_version = pipeline_tools_version,
add_md5s = add_md5s,
pipeline_version = analysis.pipeline_version,
max_retries = max_cromwell_retries,
# The sorted bam is the largest output. Other outputs will increase space by ~50%.
# Factor of 2 and addition of 50 GB gives some buffer.
disk_space = ceil(size(analysis.sorted_bam, "GB") * 2 + 50)
Expand Down
7 changes: 2 additions & 5 deletions adapter_pipelines/ss2_single_end/adapter.wdl
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,9 @@ workflow AdapterSmartSeq2SingleCellUnpaired {
String runtime_environment
# By default, don't record http requests, unless we override in inputs json
Boolean record_http = false
Int max_cromwell_retries = 0
Boolean add_md5s = false
String pipeline_tools_version = "v0.56.1"
String pipeline_tools_version = "v0.56.2"
call GetInputs as prep {
input:
Expand Down Expand Up @@ -98,8 +97,7 @@ workflow AdapterSmartSeq2SingleCellUnpaired {
stranded = prep.inputs.stranded,
sample_name = prep.inputs.sample_id,
output_name = prep.inputs.sample_id,
fastq = prep.inputs.fastq,
max_retries = max_cromwell_retries
fastq = prep.inputs.fastq
}
call submit_wdl.submit {
Expand Down Expand Up @@ -187,7 +185,6 @@ workflow AdapterSmartSeq2SingleCellUnpaired {
record_http = record_http,
pipeline_tools_version = pipeline_tools_version,
add_md5s = add_md5s,
max_retries = max_cromwell_retries,
pipeline_version = analysis.pipeline_version,
# The bam files are by far the largest outputs. The extra 5 GB should easily cover everything else.
disk_space = ceil(size(analysis.aligned_bam, "GB") + size(analysis.aligned_transcriptome_bam, "GB") + 5)
Expand Down
7 changes: 2 additions & 5 deletions adapter_pipelines/ss2_single_sample/adapter.wdl
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,9 @@ workflow AdapterSmartSeq2SingleCell{
String runtime_environment
# By default, don't record http requests, unless we override in inputs json
Boolean record_http = false
Int max_cromwell_retries = 0
Boolean add_md5s = false
String pipeline_tools_version = "v0.56.1"
String pipeline_tools_version = "v0.56.2"
call GetInputs as prep {
input:
Expand Down Expand Up @@ -99,8 +98,7 @@ workflow AdapterSmartSeq2SingleCell{
sample_name = prep.inputs.sample_id,
output_name = prep.inputs.sample_id,
fastq1 = prep.inputs.fastq_1,
fastq2 = prep.inputs.fastq_2,
max_retries = max_cromwell_retries
fastq2 = prep.inputs.fastq_2
}
call submit_wdl.submit {
Expand Down Expand Up @@ -193,7 +191,6 @@ workflow AdapterSmartSeq2SingleCell{
record_http = record_http,
pipeline_tools_version = pipeline_tools_version,
add_md5s = add_md5s,
max_retries = max_cromwell_retries,
pipeline_version = analysis.pipeline_version,
# The bam files are by far the largest outputs. The extra 5 GB should easily cover everything else.
disk_space = ceil(size(analysis.aligned_bam, "GB") + size(analysis.aligned_transcriptome_bam, "GB") + 5)
Expand Down
9 changes: 1 addition & 8 deletions adapter_pipelines/submit.wdl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ task get_metadata {
Int? individual_request_timeout
Boolean record_http
String pipeline_tools_version
Int max_retries = 0
command <<<
export RECORD_HTTP_REQUESTS="${record_http}"
Expand All @@ -29,7 +28,6 @@ task get_metadata {
>>>
runtime {
docker: "quay.io/humancellatlas/secondary-analysis-pipeline-tools:" + pipeline_tools_version
maxRetries: max_retries
}
output {
File metadata = "metadata.json"
Expand Down Expand Up @@ -137,7 +135,6 @@ task stage_files {
String rb = "}"
Boolean record_http
String pipeline_tools_version
Int max_retries = 0
Int disk_space

command <<<
Expand Down Expand Up @@ -184,7 +181,6 @@ task stage_files {
runtime {
docker: "quay.io/humancellatlas/secondary-analysis-pipeline-tools:" + pipeline_tools_version
disks: "local-disk ${disk_space} HDD"
maxRetries: max_retries
}
output {
Array[File] http_requests = glob("request_*.txt")
Expand Down Expand Up @@ -260,7 +256,6 @@ workflow submit {
Boolean record_http = false
String pipeline_tools_version
Boolean add_md5s
Int max_retries = 0
# Version of the pipeline, should be included in the pipeline file
String pipeline_version
# Disk space to allocate for stage_files task
Expand All @@ -278,8 +273,7 @@ workflow submit {
individual_request_timeout = individual_request_timeout,
retry_multiplier = retry_multiplier,
retry_max_interval = retry_max_interval,
pipeline_tools_version = pipeline_tools_version,
max_retries = max_retries
pipeline_tools_version = pipeline_tools_version
}

call create_submission {
Expand Down Expand Up @@ -320,7 +314,6 @@ workflow submit {
retry_max_interval = retry_max_interval,
record_http = record_http,
pipeline_tools_version = pipeline_tools_version,
max_retries = max_retries,
disk_space = disk_space
}

Expand Down
1 change: 0 additions & 1 deletion adapter_pipelines/submit_stub/submit.wdl
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ workflow submit {
Boolean record_http = false
String pipeline_tools_version
Boolean add_md5s
Int max_retries = 0
# Version of the pipeline, should be included in the pipeline file
String pipeline_version
# Disk space to allocate for stage_files task
Expand Down

0 comments on commit f14403c

Please sign in to comment.