javrasya / django-river

Django workflow library that supports on the fly changes ⛵
BSD 3-Clause "New" or "Revised" License
741 stars 105 forks source link

Fix cyclic graph state explosion #191

Open CapCap opened 3 years ago

CapCap commented 3 years ago

When states cycle A->B->A->B, there are a truly exponential number of states that get created. Two such cycles are enough to cause 10s + loading times for pages, and realistically will easily break altogether.

Big thank you to @JohnieBraaf for the fixes here.

This should fix https://github.com/javrasya/django-river/issues/188 and https://github.com/javrasya/django-river/issues/120

The problem is discussed in detail in the above issues.

JohnieBraaf commented 3 years ago

Thank you for creating this PR @CapCap

pupubird commented 3 years ago

Any time soon to have this fix on the codebase? Thanks

CapCap commented 3 years ago

Unlikely, author believes this is a feature not a bug, despite performance quickly exponentially declining when used

pupubird commented 3 years ago

Ah I see! No worries