1
0
Fork 0
mirror of https://github.com/matrix-org/dendrite.git synced 2025-04-24 17:54:28 -05:00
dendrite/federationapi/storage
devonh 241d5c47df
Refactor Federation Destination Queues ()
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
2022-10-19 11:03:16 +01:00
..
cache Merge federationapi, federationsender, signingkeyserver components () 2021-11-24 10:45:23 +00:00
postgres Add housekeeping function to delete old/expired EDUs () 2022-08-09 11:15:58 +02:00
shared Refactor Federation Destination Queues () 2022-10-19 11:03:16 +01:00
sqlite3 Add housekeeping function to delete old/expired EDUs () 2022-08-09 11:15:58 +02:00
tables Add housekeeping function to delete old/expired EDUs () 2022-08-09 11:15:58 +02:00
interface.go Add housekeeping function to delete old/expired EDUs () 2022-08-09 11:15:58 +02:00
storage.go Global database connection pool (for monolith mode) () 2022-05-03 16:35:06 +01:00
storage_test.go De-race TestExpireEDUs () 2022-08-19 07:28:33 +02:00
storage_wasm.go Global database connection pool (for monolith mode) () 2022-05-03 16:35:06 +01:00