Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use ordered queries to reduce deadlocks [RHELDST-22078]
There are still DB deadlocks occurring from time to time. These all seem to be related to multiple rhsm-pulp repos updating records for the same files concurrently (e.g. multiple repos having the same RPMs will all need to update the same paths under /origin/ around the same time). While the relevant code is all prepared to retry on deadlock anyway and so this should not be noticeable beyond a delay, it would be nice to fix this. This commit tries to fix it by always applying a consistent order for all queries obtaining row locks on items. The change is speculative as I can't reproduce the deadlocks on demand, but it's consistent with the advice given in postgres docs[1]: > The best defense against deadlocks is generally to avoid them by being > certain that all applications using a database acquire locks on > multiple objects in a consistent order [1] https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-DEADLOCKS
- Loading branch information