mirror of
https://github.com/matrix-org/dendrite
synced 2024-12-13 22:35:40 +01: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 |
||
---|---|---|
.. | ||
cache | ||
postgres | ||
shared | ||
sqlite3 | ||
tables | ||
interface.go | ||
storage.go | ||
storage_test.go | ||
storage_wasm.go |