mirror of
https://github.com/1f349/dendrite.git
synced 2024-12-28 19:16:29 +00:00
241d5c47df
This is a refactor of the federation destination queues. It fixes a few things, namely: - actually retry outgoing events with backoff behaviour - obtain enough events from the database to fill messages as much as possible - minimize the amount of running goroutines - use pure timers for backoff - don't restart queue unless necessary - close the background task when backing off - increase max edus in a transaction to match the spec - cleanup timers more aggresively to reduce memory usage - add jitter to backoff timers to reduce resource spikes - add a bunch of tests (with real and fake databases) to ensure everything is working |
||
---|---|---|
.. | ||
destinationqueue.go | ||
queue_test.go | ||
queue.go |