-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
Option to have workflow with single available lock run #13630
Comments
Do you have a design for what this would look like?
Currently the only strategy is front of queue workflow gets to run. |
yes this exactly! |
i guess https://github.com/argoproj/argo-workflows/blob/v3.6.0-rc4/workflow/sync/semaphore.go#L178-L195 would be the section to change draft idea (not complete):
|
Summary
The multi mutex/semaphore feature has a restriction that only becomes apparent with this feature. Prior to this feature there was only ever one possible mutex or semaphore so in case of highpriority wf and lowpriority wf both wanting it the high one would get it. But in case of high priority wf wanting 2 mutexes (1 which is available but the other taken by some other wf) and different low priority wf only wanting 1 mutex (which is available) the low priority wf is unnecessarily blocked from running even though the high priority can't run anyway (since not ALL of its criteria is met)
see #13358 (comment)
Use Cases
This is similar to 'short query acceleration' where small tasks are allowed to get a slice of compute whenever the heavy hitters did not necessarily have enough headroom to run
The text was updated successfully, but these errors were encountered: