LLM node can not produce stream response in workflow mode when IF-ELSE nested IF-ELSE #9660

Closed
opened 2026-02-21 18:37:25 -05:00 by yindo · 0 comments
Owner

Originally created by @yunzhuqing on GitHub (Mar 6, 2025).

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

0.15.3

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

Workflow was defined as below:
Image

TRUE branch will produce stream response,however, ELSE branch will block until all nodes has been executed

TRUE branch outputs is

Image

ELSE branch outputs

Image

The problem code maybe _fetch_node_ids_in_reachable_branch in StreamProcessor

Image

for ELSE branch, the condition is always true, the nodes after 'IF-ELSE 2' can not be append reachable_node_ids,

Image

these nodes will be deleted, this results stream_out_end_node_ids is always None

Image

✔️ Expected Behavior

No response

Actual Behavior

No response

Originally created by @yunzhuqing on GitHub (Mar 6, 2025). ### 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 0.15.3 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce Workflow was defined as below: ![Image](https://github.com/user-attachments/assets/2ac7a2af-8e20-4f64-adba-b17015ef311c) TRUE branch will produce stream response,however, ELSE branch will block until all nodes has been executed TRUE branch outputs is ![Image](https://github.com/user-attachments/assets/433714ba-3006-41a2-b6b6-1417b9efafe1) ELSE branch outputs ![Image](https://github.com/user-attachments/assets/aa86efd9-03b5-4e7e-9bce-d9a4b7be3199) The problem code maybe _fetch_node_ids_in_reachable_branch in StreamProcessor ![Image](https://github.com/user-attachments/assets/a171aefa-8483-42c1-a395-e168bfbafe13) for ELSE branch, the condition is always true, the nodes after 'IF-ELSE 2' can not be append reachable_node_ids, ![Image](https://github.com/user-attachments/assets/1b1fdb0d-861b-4f6f-b350-bc3953386d31) these nodes will be deleted, this results stream_out_end_node_ids is always None ![Image](https://github.com/user-attachments/assets/68c11152-d664-4263-bf70-0475e5d28c83) ### ✔️ Expected Behavior _No response_ ### ❌ Actual Behavior _No response_
yindo added the 🤔 cant-reproduce🌊 feat:workflow labels 2026-02-21 18:37:25 -05:00
yindo closed this issue 2026-02-21 18:37:25 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#9660