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

avoid inflation of dag node names #117

Open
elonp opened this issue Apr 18, 2024 · 2 comments
Open

avoid inflation of dag node names #117

elonp opened this issue Apr 18, 2024 · 2 comments

Comments

@elonp
Copy link
Contributor

elonp commented Apr 18, 2024

DAG node names are a concatenation of levels.
The first level is always the pipeline name.

When we combine pipelines we prefix the new pipeline name to all node names.
Before we combine pipelines we need to ensure their node names are unique. This is often done by decorating each pipeline with a unique name, where decorating means prefixing the new name to all node names.

This all works but we end up with very long and repetitive node names, which is very annoying.

A solution would be to support pipeline.rename instead of pipeline.decorate. This can be done in one of two ways:

  1. Add a rename operation to node names that replaces their top level. Ensure this happens in all places that hold node names (dependencies, pipeline inputs/outputs, more?)
  2. Refactor the code such that the node names do not include the pipeline name. When combining, instead of decorating all input pipelines with the new pipeline name, decorate each input pipeline's nodes with its current name.
@ms-lolo
Copy link
Collaborator

ms-lolo commented Apr 19, 2024

can you add a concrete example here of the long node names?

@jzazo
Copy link
Collaborator

jzazo commented Apr 19, 2024

This is a decision made in processors, on how we ensure when we combine pipelines that they have unique names, so we require that the new pipeline inflates the namespace of all nodes with a new prefix. We want to eliminate that inflation basically.

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

3 participants