Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Deadlock issue caused in listResources (argoproj/argo-cd#18902)
It is possible for Argo to reach a state where the maximum amount of go-routines have incremented the semaphore and are waiting on the lock in loadInitialState WHILE another go-routine is holding the lock waiting on the semaphore. This change allows the go-routine holding the lock to bypass the semaphore and complete its execution. The downside of this approach is that more could be running than intended, but that is preferable to the cache deadlocking. Signed-off-by: James Root <jroot@indeed.com>
- Loading branch information