You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Expected behavior
If one edge is part of two cycles, I expect the algorithm to only break the edge once. After checking the second cycle, it shouldn't attempt to break the edge.
Additional context
I believe there are two other bugs occurring in my project, possibly related:
A cycle is deleted and not executed at all. The pipeline terminates too early as a result. I haven't been able to determine whether this really is a bug or what the cause is.
As the cycle handling seems quite complicated, I'm wondering why Haystack even does that. Why is the pipeline not based on a queue of components that have all their inputs, executing them one at a time and adding their connected components once they've got their inputs. Something like:
Describe the bug
_break_supported_cycles_in_graph
might remove same edge multiple times.Error message
'NoneType' object has no attribute 'keys'
in https://github.com/deepset-ai/haystack/blob/ea3602643aa52c27f3bea7bf5bc90b97f568dcdc/haystack/core/pipeline/base.py#L1218C1-L1218C94Expected behavior
If one edge is part of two cycles, I expect the algorithm to only break the edge once. After checking the second cycle, it shouldn't attempt to break the edge.
Additional context
I believe there are two other bugs occurring in my project, possibly related:
pipeline.draw()
does not show user-provided value to variadic input #8656 This maybe messes with the topological sort of the graph though I'm not sure if that would affect the cycle detection.As the cycle handling seems quite complicated, I'm wondering why Haystack even does that. Why is the pipeline not based on a queue of components that have all their inputs, executing them one at a time and adding their connected components once they've got their inputs. Something like:
To Reproduce
Probably:
.get_edge_data
failing for the second cycle as the edge no longer exists.I can reliably reproduce the issue in my project.
FAQ Check
System:
The text was updated successfully, but these errors were encountered: