Open FelonEkonom opened 1 month ago
Proposition of algorithm finding diamond structure: Start DFS/BFS in every vertex, if you enter some other vertex more than once, it means that there is a diamond there, but it has not be minimal diamond in terms of inclusion. The goal is to find only minimal diamonds.
Every randomized time interval check if there is a diamond structure in the pipeline topology with a root having
:auto
flow control andpull
effective flow control (and proper flow control on both paths to the "leaf").If it occurs, add a debug/warning log informing about possibility of getting stuck, if the data will be unbalanced and possible solutions (setting
auto_demand_size
to a bigger number, modifying pipeline topology).Another possible approach is to auto-magically-bump
auto_demand_size
in case of getting stuck