Conversation
Pull Request Test Coverage Report for Build 16295205672Details
💛 - Coveralls |
…g-when-pipeline-stops-early
PipelineComponentBlockedError if the pipeline is unable to continue running due to a blocked component| result = pipeline._get_next_runnable_component(queue, component_visits={}) | ||
| assert result is None | ||
|
|
||
| def test__get_next_runnable_component_blocked(self): |
There was a problem hiding this comment.
Overall the PR looks great! Can you explain one last thing why is this test not working with the changes?
There was a problem hiding this comment.
This is a result of how I changed _get_next_runnable_component_blocked to no longer return none if the next runnable component is BLOCKED. That check is now done inside the Pipeline.run and AsyncPipeline.run methods.
…g-when-pipeline-stops-early
Amnah199
left a comment
There was a problem hiding this comment.
Looks good to me! We can decide if we want another approval.
There was a problem hiding this comment.
LGTM! 👍
The only part that I found more difficult to understand is where we now added
# We still always exit the loop since we cannot run the next component.
break
It wasn't clear to me what still refers to here. We didn't break at that point before the PR. My understanding is that it means even though we could not infer that the pipeline is possibly blocked via our heuristics, we break out of the loop because the next component to run is blocked and that won't change.
You're right the |
… to a blocked component (deepset-ai#9569) * First pass at alerting a user that the pipeline is blocked * Change approach and add change to async pipeline * Fix check in run_async * Another fix * Somehow also fixed the max_runs_per_component * Align sync run and async run component * Update output type of component outputs to Mapping to align with our protocol * linting * ruff * Make it a core test * Add reno * Some refactoring * Linting * Fix mypy * Converting to warning * Small changes * Update release note * More cleanup * PR comment * PR comments
Related Issues
Proposed Changes:
Update
_get_next_runnable_componentto raise a warning if the next runnable component is blocked and it looks like the pipeline is not finished based on what's available in the pipeline outputs.How did you test it?
Notes for the reviewer
Checklist
fix:,feat:,build:,chore:,ci:,docs:,style:,refactor:,perf:,test:and added!in case the PR includes breaking changes.