Error with parallel false branch #15217

Closed
opened 2026-02-21 19:20:43 -05:00 by yindo · 7 comments
Owner

Originally created by @DavideDelbianco on GitHub (Jul 9, 2025).

Originally assigned to: @laipz8200, @Nov1c444 on GitHub.

Self Checks

  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
  • [FOR CHINESE USERS] 请务必使用英文提交 Issue,否则会被关闭。谢谢!:)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.5.1

Cloud or Self Hosted

Cloud, Self Hosted (Docker)

Steps to reproduce

  • Use 3 IF/ ELSE
  • Make only one node have a true condition

test 1:

  • Create a workflow where true branches are bound to separate nodes and false branches are bound to common node.
  • Run the execution and the only true node will be reached
Image

test 2:

  • Make the true branches connected to a common node, and the false branches connected to separate nodes
  • Run the code and the true branch won't be reached
Image

✔️ Expected Behavior

The true branches should follow the true path while the false branches follow the false path independent of other ancestors if the output value from a non-executed ancestor branch is not needed.

The common node should wait for input from ancestor nodes only when it needs ancestor outputs to continue

In this case, the common template node did not use the outputs of the IF/ELSE nodes and should have allowed the middle branch to continue execution:

Actual Behavior

The "common" node treats its inputs as being in "AND" when they are IF/ELSE and won't be reached if any of the ancestors is false, even if it does not use ancestor's outputs

Image Image
Originally created by @DavideDelbianco on GitHub (Jul 9, 2025). Originally assigned to: @laipz8200, @Nov1c444 on GitHub. ### Self Checks - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report (我已阅读并同意 [Language Policy](https://github.com/langgenius/dify/issues/1542)). - [x] [FOR CHINESE USERS] 请务必使用英文提交 Issue,否则会被关闭。谢谢!:) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.5.1 ### Cloud or Self Hosted Cloud, Self Hosted (Docker) ### Steps to reproduce - Use 3 IF/ ELSE - Make only one node have a `true` condition test 1: - Create a workflow where `true` branches are bound to separate nodes and `false` branches are bound to common node. - Run the execution and the only `true` node will be reached <img width="1596" height="740" alt="Image" src="https://github.com/user-attachments/assets/f641826e-5a39-45c2-ae6a-777f531be1c2" /> test 2: - Make the `true` branches connected to a common node, and the `false` branches connected to separate nodes - Run the code and the `true` branch won't be reached <img width="1587" height="635" alt="Image" src="https://github.com/user-attachments/assets/ceff488b-27cb-4953-87fd-5b5fd0b660b8" /> ### ✔️ Expected Behavior The true branches should follow the `true` path while the `false` branches follow the `false` path independent of other ancestors if the output value from a non-executed ancestor branch is not needed. The common node should wait for input from ancestor nodes only when it needs ancestor outputs to continue In this case, the common template node did not use the outputs of the IF/ELSE nodes and should have allowed the middle branch to continue execution: ### ❌ Actual Behavior The "common" node treats its inputs as being in "AND" when they are IF/ELSE and won't be reached if any of the ancestors is false, even if it does not use ancestor's outputs <img width="1647" height="730" alt="Image" src="https://github.com/user-attachments/assets/bc34e02e-73b7-4d55-8776-bad059b5f9b6" /> <img width="1605" height="640" alt="Image" src="https://github.com/user-attachments/assets/ed130aa0-f80b-4ceb-bf61-d55e96c10934" />
yindo added the 🐞 bug🌊 feat:workflow labels 2026-02-21 19:20:43 -05:00
yindo closed this issue 2026-02-21 19:20:43 -05:00
Author
Owner

@DavideDelbianco commented on GitHub (Jul 9, 2025):

test.yml.txt

@DavideDelbianco commented on GitHub (Jul 9, 2025): [test.yml.txt](https://github.com/user-attachments/files/21140634/test.yml.txt)
Author
Owner

@chenyi-666 commented on GitHub (Jul 9, 2025):

Image me too
@chenyi-666 commented on GitHub (Jul 9, 2025): <img width="1512" height="503" alt="Image" src="https://github.com/user-attachments/assets/2bf55b21-67ff-436e-8d24-dda5a3bdd776" /> me too
Author
Owner

@dosubot[bot] commented on GitHub (Aug 26, 2025):

Hi, @DavideDelbianco. I'm Dosu, and I'm helping the Dify team manage their backlog and am marking this issue as stale.

Issue Summary:

  • You reported a bug in Dify v1.5.1 where a common node connected to false branches in workflows with multiple IF/ELSE branches blocks execution incorrectly.
  • The node blocks execution even though it doesn't require ancestor outputs.
  • You provided a test YAML file to demonstrate the issue.
  • Another user confirmed the problem and shared a screenshot.
  • The issue affects the proper continuation of true branches in conditional workflows and remains unresolved.

Next Steps:

  • Please let me know if this issue is still relevant with the latest version of Dify by commenting here.
  • If I don’t hear back within 15 days, I will automatically close this issue.

Thank you for your understanding and contribution!

@dosubot[bot] commented on GitHub (Aug 26, 2025): Hi, @DavideDelbianco. I'm [Dosu](https://dosu.dev), and I'm helping the Dify team manage their backlog and am marking this issue as stale. **Issue Summary:** - You reported a bug in Dify v1.5.1 where a common node connected to false branches in workflows with multiple IF/ELSE branches blocks execution incorrectly. - The node blocks execution even though it doesn't require ancestor outputs. - You provided a test YAML file to demonstrate the issue. - Another user confirmed the problem and shared a screenshot. - The issue affects the proper continuation of true branches in conditional workflows and remains unresolved. **Next Steps:** - Please let me know if this issue is still relevant with the latest version of Dify by commenting here. - If I don’t hear back within 15 days, I will automatically close this issue. Thank you for your understanding and contribution!
Author
Owner

@DavideDelbianco commented on GitHub (Aug 26, 2025):

@dosu yes It is, but I am waiting to see if upcoming queue based workflow runner will solve this kind of issues

@DavideDelbianco commented on GitHub (Aug 26, 2025): @dosu yes It is, but I am waiting to see if upcoming queue based workflow runner will solve this kind of issues
Author
Owner

@dosubot[bot] commented on GitHub (Aug 26, 2025):

@crazywoola The user confirms the issue with the common node blocking execution in multi-branch workflows is still relevant but is waiting to see if the upcoming queue-based workflow runner will address it. Could you please assist?

@dosubot[bot] commented on GitHub (Aug 26, 2025): @crazywoola The user confirms the issue with the common node blocking execution in multi-branch workflows is still relevant but is waiting to see if the upcoming queue-based workflow runner will address it. Could you please assist?
Author
Owner

@Nov1c444 commented on GitHub (Aug 27, 2025):

Yes, it looks like the new queue-based graph engine(#24068 ) can solve this problem. Please give us some more time to merge it.

Image
@Nov1c444 commented on GitHub (Aug 27, 2025): Yes, it looks like the new queue-based graph engine(#24068 ) can solve this problem. Please give us some more time to merge it. <img width="1834" height="781" alt="Image" src="https://github.com/user-attachments/assets/f99ee8e5-2c09-418e-951f-13b78f91b039" />
Author
Owner

@DavideDelbianco commented on GitHub (Aug 27, 2025):

@Nov1c444 sure, I just wanted to stop dosu

@DavideDelbianco commented on GitHub (Aug 27, 2025): @Nov1c444 sure, I just wanted to stop dosu
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#15217