microsoft/rats

avoid inflation of dag node names

Opened this issue · 2 comments

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.

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

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.