Closed akachru-github closed 2 years ago
Turns out that AVRO default values have nothing to do with read/write of schema-based object and only to do with schema migration ...
default: A default value for this field, only used when reading instances that lack the field for schema evolution
purposes. The presence of a default value does not make the field optional at encoding time. Permitted values
depend on the field's schema type, according to the table below. Default values for union fields correspond to
the first schema in the union. Default values for bytes and fixed fields are JSON strings, where Unicode code points
0-255 are mapped to unsigned 8-bit byte values 0-255. Avro encodes a field even if its value is equal to its default.
Docs: https://avro.apache.org/docs/current/spec.html
Further clarified here: https://stackoverflow.com/questions/58880481/why-is-the-avro-default-value-not-used-with-avro-python
The search for the right solution continues ...
@rosibaj scheduled a meeting Oct 1 to confirm business requirements
May require collaboration with GA4GH (Jeremy) and Dockstore (Dennis). Need someone to follow through with this as this is a large and complex change. The changes being requested aren't ARGO specific and can be changes for general purpose use.
There is still work to do on fleshing this out further.
Closing this since it was design which was done and wiki created. Implementation continues here: https://github.com/icgc-argo/workflow-graph-node/issues/85
Currently, Model T talks hardcoded parameters for each type of workflow; reads from sheet and replaces the dynamic values, then sends the run with
resume = true
Resume: Same session id; can have the same or different parameters. Must have the same working directory to access interstitial files. Rerun: New session id; totally fresh. can have the same or different parameters. Can have a new working directory.
Workflow automation does not have an equivalent yet, so we need to make these functions available.
Possible Implementation:
runid
innode
apiresume = true
.Expected Outcome
Edit: New wiki with design has been created here