You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.
When conductor.redis.queueShardingStrategy=localOnly is set, deciderQueue is created for each pod. But we have multiple conductor pods in kubernetes. When we send the COMPLETED task update request to conductor, kubernetes load balances update task request to any of the conductor pod. decide() is invoked inside updateStatus() hence decide() is invoked for a workflow in any of the conductor pod. At the same time sweeper also can invoke decide() method from a specific pod. Which means localOnly strategy will not work in this case. Is there any solution for this problem? We cannot use redis execution lock as we are having master to master replication of redis nodes.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
When conductor.redis.queueShardingStrategy=localOnly is set, deciderQueue is created for each pod. But we have multiple conductor pods in kubernetes. When we send the COMPLETED task update request to conductor, kubernetes load balances update task request to any of the conductor pod. decide() is invoked inside updateStatus() hence decide() is invoked for a workflow in any of the conductor pod. At the same time sweeper also can invoke decide() method from a specific pod. Which means localOnly strategy will not work in this case. Is there any solution for this problem? We cannot use redis execution lock as we are having master to master replication of redis nodes.
Beta Was this translation helpful? Give feedback.
All reactions