Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #12592: Execution is interrupted when the subsequent flow of the else branch is in a new parallel stream. #12593

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

liuzhenghua
Copy link
Contributor

@liuzhenghua liuzhenghua commented Jan 10, 2025

Summary

Fixes #12592

Screenshots

Before After
image image

Checklist

Important

Please review the checklist below before submitting your pull request.

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods

@dosubot dosubot bot added size:XS This PR changes 0-9 lines, ignoring generated files. 🐞 bug Something isn't working labels Jan 10, 2025
@crazywoola
Copy link
Member

Why do you want let if/else execute the same logic? It doesn't make sense to me.

@liuzhenghua
Copy link
Contributor Author

Why do you want let if/else execute the same logic? It doesn't make sense to me.

They do not execute the same logic. The if branch executes a parallel stream, while the else branch only executes a single line of the if branch's parallel stream.

The demo provided is only to demonstrate this bug. Our actual business logic is as shown in the figure below.
image
When the condition leads to the else branch, it gets interrupted and does not execute the else node as expected.

@liuzhenghua liuzhenghua changed the title fix #12592 Fix #12592: where execution is interrupted when the subsequent flow of the else branch is in a new parallel stream. Jan 13, 2025
@liuzhenghua liuzhenghua changed the title Fix #12592: where execution is interrupted when the subsequent flow of the else branch is in a new parallel stream. Fix #12592: Execution is interrupted when the subsequent flow of the else branch is in a new parallel stream. Jan 13, 2025
@crazywoola
Copy link
Member

crazywoola commented Jan 13, 2025

But it looks like the if/else are executing the same logic, this is confused by the UI. I don't think the if/else node should support parallel executing if they are using the same condition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 bug Something isn't working size:XS This PR changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

The node can't be executed if it is connected to both the if and else branches.
2 participants