Open astelmashenko opened 1 year ago
Hi @astelmashenko , WorkflowRepairs checks for the taskId before pushing anything into the queue. Are you using locks in your configuration? There is a high chance that workflow execution is not guarded by locks so the task may be picked up by two different threads.
@manan164 , Yes we are using lock (Redis). What I have in mind is upgrade of conductor. E.g. we fixed something in our custom task and re-deploying conductor with thousands of workflows. How does it stop, e.g. stop decider firtst, wait for complete of all running tasks, stop connections and shutdown conductor. The question: Is the process of shutdown deterministic, is there evidence that it shutdowns gracefully?
Describe the bug We notices that task is executed twice sometimes. After we enabled debug logs we found out that after WorkflowRepairService re-queued task for some reason the task was exeucted two times:
What does WorkflowRepairService do and do we need it at all? Why does it happen even when we have lock service? Thanks.
Details Conductor version: 3.7.2 Persistence implementation: Postgres Queue implementation: Postgres Lock: Redis
To Reproduce This happens from time-to-time, we did not find steps to reproduce
Expected behavior HTTP task must be executed only once.
The original issue was opened condcutor-community https://github.com/Netflix/conductor-community/issues/70 But nobody responded in months