Currently we have some noticeable number of deadlocks caused by deleting threads stepping on each other's toes (like T244115: Investigate & Fix holes for aliases in new term tables (take 3), etc.) The main problem here is that locking is left to the database to handle while we can use more better locking mechanisms before trying to change content in the database. We can use PoolCounter or RedisLockManager to reduce the number of deadlocks in the database.
- Mentioned In
- T246898: Wikibase\Repo\Content\DataUpdateAdapter::doUpdate: Commit failed on server(s) 10.64.48.172: Cannot execute query from Wikibase\Repo\Content\DataUpdateAdapter::doUpdate while transaction status is ERROR
- Mentioned Here
- T244115: Investigate & Fix holes for aliases in new term tables (take 3)