mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2025-02-22 14:19:48 -05:00

When we get behind on replication, we tend to stack up background processes behind a linearizer. Bg processes are heavy (particularly with respect to prometheus metrics) and linearizers aren't terribly efficient once the queue gets long either. A better approach is to maintain a queue of requests to be processed, and nominate a single process to work its way through the queue. Fixes: #7444