X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/db166b9539a0f18621e2c980137d082357b1a680..f49f387a58ac8ec0cfea84be1f868fea45d7b056:/sdk/cwl/arvados_cwl/arv-cwl-schema-v1.1.yml diff --git a/sdk/cwl/arvados_cwl/arv-cwl-schema-v1.1.yml b/sdk/cwl/arvados_cwl/arv-cwl-schema-v1.1.yml index 69c0ed6cff..458d5a37a7 100644 --- a/sdk/cwl/arvados_cwl/arv-cwl-schema-v1.1.yml +++ b/sdk/cwl/arvados_cwl/arv-cwl-schema-v1.1.yml @@ -399,3 +399,30 @@ $graph: only or written to disk and memory-mapped. The disk cache leverages the kernel's virtual memory system so "hot" data will generally still be kept in RAM. + +- name: OutOfMemoryRetry + type: record + extends: cwl:ProcessRequirement + inVocab: false + doc: | + Detect when a failed tool run may have run out of memory, and + re-submit the container with more RAM. + fields: + - name: class + type: string + doc: "'arv:OutOfMemoryRetry" + jsonldPredicate: + _id: "@type" + _type: "@vocab" + - name: memoryErrorRegex + type: string? + doc: | + A regular expression that will be used on the text of stdout + and stderr produced by the tool to determine if a failed job + should be retried with more RAM. By default, searches for the + substrings 'bad_alloc' and 'OutOfMemory'. + - name: memoryRetryMultipler + type: float + doc: | + If the container failed on its first run, re-submit the + container with the RAM request multiplied by this factor.