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

The input/output ID matching workaround is in need of a proper solution #14

Open
tverbeiren opened this issue Feb 8, 2024 · 1 comment
Assignees

Comments

@tverbeiren
Copy link
Member

The vsh_toList operator is defined as such:

        | vsh_toList.run(
            fromState: { id, state ->
              [
                id: id,
                input: state.output
              ]
            },
            toState: [ output: "output" ]
          )

Or in words: the state.id slot is set to whatever id is associated to the id of the first event on the Channel to be processed by vsh_toList. This is not predictable as the order is not guaranteed. As a consequence, the output filenames can be named differently. And even if the Channel is sorted, the output id would correspond to one of the incoming id's which is not ideal either.

A better approach would be to call the output id something like combined or all or something, but then Viash VDSL3 throws an exception about the input and output id's not matching. The proper way to resolve the matching error requires the proper setting of state._meta.join_id from the start of the workflow and handle it throughout. But in turns that requires an explicit map operator in the beginning to assign the join_id which is not ideal for a demonstration workflow.

My suggestion would be to allow VDSL3 to be in a loose mode so that input/output IDs are not matched.

@rcannood
Copy link
Member

My suggestion would be to allow VDSL3 to be in a loose mode so that input/output IDs are not matched.

This is fundamentally not possible, I'm afraid 😢 Ok to close this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants