Chain of groups only propagating exceptions if the failing group is the last in the chain? #8782
Replies: 9 comments 6 replies
-
Perhaps even more bizarrely, if you have 3 groups, and the middle one has a failing task, the last group is still run, and its results are returned as the output!!
|
Beta Was this translation helpful? Give feedback.
-
The expected behavior for all 3 of these outputs would be to raise an Exception. |
Beta Was this translation helpful? Give feedback.
-
Astonishingly, if the final element of the chain is a normal task, it seems to work as expected... When the last group fails:
When the first group fails:
When the middle group fails:
|
Beta Was this translation helpful? Give feedback.
-
Please report a bug using the official method. Ping me when you do, this sounds interesting! Thank you @kevinjdolan |
Beta Was this translation helpful? Give feedback.
-
In that last example, something very strange happens:
This exception is the desired output, but if we look at the worker logs, we see the tasks AFTER the failing group continue to be executed.
But if we add a normal task to the beginning of the chain, this problem no longer occurs.
|
Beta Was this translation helpful? Give feedback.
-
This is a case that's really something... If we have two normal tasks after the failing group, the exception is raised as expected, however, a strange error appears in the worker logs.
This is actually the error that originally landed me down this line of exploration, which leads me to believe I'm on the right path. |
Beta Was this translation helpful? Give feedback.
-
At this point, if I had to generalize the problem, it is that the behaviors for a chain containing at least one group of tasks for which at least one fails is highly unpredictable. |
Beta Was this translation helpful? Give feedback.
-
Trying to understand the implementation of
|
Beta Was this translation helpful? Give feedback.
-
@Nusnus I added a bug report in issues, along with a reproducible docker-compose environment: #8786 Hope it helps! Sorry I can't be more helpful, as I need to find a workaround to this problem to move on with my project. |
Beta Was this translation helpful? Give feedback.
-
I was experimenting with some canvas workflows, and started running into some issues when creating chains of groups.
Consider the following tasks:
If we run these two groups, with the last group failing, we see that the error is raised, as we would expect.
However, if the failure occurs in the first group, the error is not raised and the call to
.get()
just hangs. We do see the exception in the worker console, but no result is emitted!This is problematic for my application, because I would like to use
link_error
on these chains, and the same issue appears to be present for errbacks on the chain.Beta Was this translation helpful? Give feedback.
All reactions