-
Notifications
You must be signed in to change notification settings - Fork 2k
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
fix: pipeline run bugs in cyclic and acyclic pipelines #8707
Open
mathislucka
wants to merge
80
commits into
main
Choose a base branch
from
fix/pipeline_run
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+6,362
−2,763
Open
Changes from 1 commit
Commits
Show all changes
80 commits
Select commit
Hold shift + click to select a range
9c34772
add component checks
mathislucka fc2f2da
pipeline should run deterministically
mathislucka c28353d
add FIFOQueue
mathislucka 64f4afc
add agent tests
mathislucka 966552e
add order dependent tests
mathislucka 3d0e948
run new tests
mathislucka 7664254
remove code that is not needed
mathislucka 932718f
test: intermediate from cycle outputs are available outside cycle
mathislucka acce8cd
add tests for component checks (Claude)
mathislucka 21c78b8
adapt tests for component checks (o1 review)
mathislucka cf23b32
chore: format
mathislucka 54d4f2c
remove tests that aren't needed anymore
mathislucka 05ed852
add _calculate_priority tests
mathislucka 93f7a9d
revert accidental change in pyproject.toml
mathislucka bbba1b2
test format conversion
mathislucka c00f8c5
adapt to naming convention
mathislucka 235aa47
chore: proper docstrings and type hints for PQ
mathislucka 99ea5d5
format
mathislucka 7577d9b
add more unit tests
mathislucka 25c64cd
rm unneeded comments
mathislucka 5a1bbd8
test input consumption
mathislucka 6820fc3
lint
mathislucka 6a9cdcc
Merge branch 'main' into fix/pipeline_run
mathislucka d624e57
fix: docstrings
mathislucka e1912f8
lint
mathislucka acc17b1
format
mathislucka 207eaba
format
mathislucka 15611fc
fix license header
mathislucka 87010dd
fix license header
mathislucka 7027572
add component run tests
mathislucka 02c82b8
fix: pass correct input format to tracing
mathislucka 7e81ff9
fix types
mathislucka b5db015
Merge branch 'main' into fix/pipeline_run
mathislucka d2bee24
format
mathislucka ad16403
format
mathislucka 2984fcb
types
mathislucka 64a0125
add defaults from Socket instead of signature
mathislucka b2b8adc
fix test names
mathislucka 6b25825
still wait for optional inputs on greedy variadic sockets
mathislucka 2566cb8
fix format
mathislucka ef8e754
wip: warn for ambiguous running order
mathislucka 0252450
wip: alternative warning
mathislucka 580e4bd
fix license header
mathislucka fd32f77
Merge branch 'main' of https://github.com/deepset-ai/haystack into fi…
Amnah199 9426bbb
make code more readable
mathislucka ad1b0aa
Introduce content tracing to a behavioral test
Amnah199 554a6ef
Merge branch 'fix/pipeline_run' of https://github.com/deepset-ai/hays…
Amnah199 a38bccb
Fixing linting
Amnah199 0ac82b2
Remove debug print statements
Amnah199 339d340
Fix tracer tests
Amnah199 9441320
Merge branch 'refs/heads/main' into fix/pipeline_run
mathislucka ae295f7
remove print
mathislucka 592492e
test: test for component inputs
mathislucka cfdc3dc
test: remove testing for run order
mathislucka 25a4b40
chore: update component checks from experimental
mathislucka 74657cd
chore: update pipeline and base from experimental
mathislucka 3b8d886
refactor: remove unused method
mathislucka 00ed49d
refactor: remove unused method
mathislucka f1d325a
refactor: outdated comment
mathislucka 711c846
refactor: inputs state is updated as side effect
mathislucka fa2b65c
format
mathislucka 8b7d761
test: add file conversion test
mathislucka dc6acb9
format
mathislucka ba81a24
fix: original implementation deepcopies outputs
mathislucka c905881
lint
mathislucka 24e41e9
Merge branch 'main' into fix/pipeline_run
mathislucka e045e90
fix: from_dict was updated
mathislucka ed7c700
fix: format
mathislucka 558050f
fix: test
mathislucka 09965ba
test: add test for thread safety
mathislucka a3eb8da
remove unused imports
mathislucka 4d9845a
format
mathislucka 2d11923
test: FIFOPriorityQueue
mathislucka d6673fe
chore: add release note
mathislucka 0f393ae
Merge branch 'main' into fix/pipeline_run
mathislucka c3f4c72
fix: resolve merge conflict with mermaid changes
mathislucka e0d2712
fix: format
mathislucka 3ded49f
fix: remove unused import
mathislucka 4564c3a
refactor: rename to avoid accidental conflicts
mathislucka 82d95e0
Merge branch 'main' into fix/pipeline_run
davidsbatista File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tstadel could you check if this test covers the use case that you had with passing the prompt outside the cycle?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test fails on main and it yields an empty prompt instead of the expected prompt value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The output from the cycle isn't distributed in the old logic because we are filtering for components that are in the cycle here:
haystack/haystack/core/pipeline/pipeline.py
Line 213 in 167ede1
And then we remove any output that was already received by a component in the cycle here:
haystack/haystack/core/pipeline/base.py
Line 889 in 167ede1
That means that outputs that are received both by components inside and outside the cycle will only go to components inside the cycle.