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

[FEATURE]: Multiple Task Update overlap with each other (Conductor + MySQL) #323

Open
ssureez opened this issue Nov 27, 2024 · 0 comments
Open

Comments

@ssureez
Copy link

ssureez commented Nov 27, 2024

Describe the Feature Request

Conductor + MySQL persistence

We are facing issue in conductor workflow orchestration where workflows are stuck in RUNNING state.

Reason is Worker's Task update overlaps with the previous worker update so workflows stayed as RUNNING state even after completed the processing

Scenario:
Consider we have two worker (worker1, worker2).

When worker1 completes its execution it call task update api. Conductor server receives the request and decider service decides there is worker2 to be scheduled. So worker2 scheduled and worker 1 task update is continue the processing. Within few milliseconds when worker2 also completes its execution then worker2 also call task update API.

In this scenario both Worker1 and Worker2 task updates are processing in parallel. Consider Worker2 task update first even before Worker1 task update. When Worker2 completes its processing then we see workflow moved to completed state. After that Worker1 task update updating workflow to Running state. This result in workflow stuck in running state forever.

Describe Preferred Solution

In mysql-persistence library, we should accept workflow update only when workflows are in intermediate state. If workflow status moved to terminal state means then updates should be dropped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant