Improve resume pipeline suggestions #3002
Labels
Community
Issue/PR opened by the open-source community
Issue: Feature Request
New feature or improvement to existing feature
Description
Currently, when the pipeline crashes (using
SequentialRunner
), a suggestion is provided for a--from-nodes
value to resume the pipeline using persisted inputs. However, if pipeline nodes use parameters as input values, they are considered transitory (as they are represented asMemoryDatasets
). As a result, the suggested pipelines are often a lot larger than necessary (assuming the parameters do not change between runs).Consider the following pipeline, assuming
first_output
,second_output
andthird_output
all defined in the catalog andvalue
defined in a parameters config file:Pipeline definition
The pipeline crashes at
third_node
. Because boththird_func
andsecond_func
use a parameterized input value, the runner suggests rerunning both of them, suggesting re-running the pipeline with--from-nodes "first_node"
.Since I don't change the parameters between runs, fixing
third_func
and re-runningthird_node
only should be enough to finish the full pipeline – so--from-nodes "third_node"
would be a desired suggestion here.If parameters were considered persistent inputs, the suggested resumed pipelines could be smaller – unless this violates any expectations regarding pipeline params?
Context
In my team, we use often parameterized node inputs and our pipelines can run for 1+ hours, so this can have a significant impact – especially for interactive work. I implemented a hook to generate an alternative resume suggestion, but I believe this change could be useful to other people too. I can open a PR if this is a welcome addition.
This feature has been tackled in #1795.
Possible Implementation
kedro.runner.runner._has_persistent_inputs
, skip evaluation of parameters.Possible Alternatives
If the default behavior is desired, this alternative suggestion could also be provided as an additional hook.
The text was updated successfully, but these errors were encountered: