Project

General

Profile

Actions

Bug #19678

closed

arvados-cwl-runner: id name must be a string

Added by Lily Coultas about 1 month ago. Updated about 1 month ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
-

Description

arvados-cwl-runner errors if there is an id: name that is not a string, when running a cwl file.

Minimal example (using a record to store a first and last name):

cwl file:

---
class: Workflow
cwlVersion: v1.1
inputs:
  - type:
      fields:
        - name: first
          type: string
        - name: last
          type: string
      type: record
    id: name
outputs:
  - type:
      fields:
        - name: first
          type: string
        - name: last
          type: string
      type: record
    id: processed_name
    outputSource: name
steps: []

input.json:

{"name":{"first":"foo","last":"bar"}}

When running the above file with cwltool, it produces the expected output:

{"processed_name": {"first": "foo", "last": "bar"}}

When running with arvados-cwl-runner --local minimal.cwl input.json it produces the following error:

ERROR Input object failed validation:
identifier field 'ordereddict([('first', 'foo'), ('last', 'bar')])' must be a string

The above failing workflow can be made to work by changing the inputs called name to be called notname instead, so it seems likely the bug may have something to do with treating name in a special way.


Related issues

Related to Arvados - Bug #19599: ContextualVersionConflict 'importlib-metadata<5,>=0.23; python_version == "3.7"'), {'argcomplete'})ResolvedPeter Amstutz

Actions
Is duplicate of Arvados - Bug #19571: arvados-cwl-runner scattering bugResolvedPeter Amstutz10/28/2022

Actions
Actions #1

Updated by Peter Amstutz about 1 month ago

I think what is happening is that name is a de facto reserved word (because CWL parameter definitions also have an identifier field called name). It should handle it better (either not fail, or give a more useful error message), but as you have already discovered, the workaround is simply to call the parameter something else.

Actions #2

Updated by Peter Amstutz about 1 month ago

  • Related to Bug #19571: arvados-cwl-runner scattering bug added
Actions #3

Updated by Peter Amstutz about 1 month ago

  • Related to deleted (Bug #19571: arvados-cwl-runner scattering bug)
Actions #4

Updated by Peter Amstutz about 1 month ago

  • Is duplicate of Bug #19571: arvados-cwl-runner scattering bug added
Actions #5

Updated by Peter Amstutz about 1 month ago

  • Target version set to 2022-11-09 sprint
  • Assigned To set to Peter Amstutz
Actions #6

Updated by Peter Amstutz about 1 month ago

  • Related to Bug #19599: ContextualVersionConflict 'importlib-metadata<5,>=0.23; python_version == "3.7"'), {'argcomplete'}) added
Actions #7

Updated by Peter Amstutz about 1 month ago

  • Status changed from New to Resolved
Actions

Also available in: Atom PDF