Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filter out non-requested outputs #380

Closed
6 of 7 tasks
fmigneault opened this issue Dec 3, 2021 · 0 comments · Fixed by #713
Closed
6 of 7 tasks

Filter out non-requested outputs #380

fmigneault opened this issue Dec 3, 2021 · 0 comments · Fixed by #713
Assignees
Labels
project/OGC Related to OGC testbeds or relavant projects. triage/conformance Issue related to fixing/ensuring compliance to specifications. triage/feature New requested feature.

Comments

@fmigneault
Copy link
Collaborator

fmigneault commented Dec 3, 2021

Description

In contrast to #375, if not all outputs are provided, the results should report only requested ones.
This impacts mostly when response: raw is requested (see #376), since it can make the difference between multipart output vs single output. Furthermore, the response the size can be reduced as well.

In terms of processing execution, Weaver will not omit the creation and storage of those outputs (too complicated considering CWL App Package abstraction), but the job status response could report them partially as requested.

  • filter outputs as requested

    • since the CWL might define all outputs as "required", but that the client running the process might be interested in only some of them, filter out the response with only requested ones
    • should the unrequested output files be deleted, or leave them anyway to allow subsequent /jobs/{jobID}/outputs/{outputID} retrieval anyway? Support /results/{id} and /outputs/{id} routes #18
  • adjust Resolve transmissionMode handling #377 response content based on number of remaining outputs after filtering, execution mode and response type

  • using outputs: {} indicates no-output
    edit: which results are returned from the job execution does not need to depend on the CWL required/optinal I/O, they are simply filtered out afterward, since the CWL must still run as-is

    • [ ] if the process explicitly defines a CWL with required outputs, this should raise some HTTP error to indicate that the server refuses to run a useless operation
    • [ ] if the process doesn't have outputs (a push-update process or something?), or if all outputs are optional (CWL ?), then the operation is allowed
  • omitting outputs is equivalent to requesting all outputs

  • remove todo in https://github.com/crim-ca/weaver/blob/master/docs/source/processes.rst#execution-body

References

@fmigneault fmigneault added the triage/feature New requested feature. label Dec 3, 2021
@fmigneault fmigneault self-assigned this Dec 3, 2021
@fmigneault fmigneault added project/OGC Related to OGC testbeds or relavant projects. triage/conformance Issue related to fixing/ensuring compliance to specifications. labels Dec 3, 2021
@fmigneault fmigneault mentioned this issue Dec 4, 2021
@fmigneault fmigneault added this to the OGC-API Conformances milestone Nov 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
project/OGC Related to OGC testbeds or relavant projects. triage/conformance Issue related to fixing/ensuring compliance to specifications. triage/feature New requested feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant