0
0
Fork 0
mirror of https://github.com/matrix-org/dendrite synced 2024-12-13 22:35:40 +01:00
dendrite/federationapi/storage
devonh 241d5c47df
Refactor Federation Destination Queues (#2807)
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 (#2055) 2021-11-24 10:45:23 +00:00
postgres Add housekeeping function to delete old/expired EDUs (#2399) 2022-08-09 11:15:58 +02:00
shared Refactor Federation Destination Queues (#2807) 2022-10-19 11:03:16 +01:00
sqlite3 Add housekeeping function to delete old/expired EDUs (#2399) 2022-08-09 11:15:58 +02:00
tables Add housekeeping function to delete old/expired EDUs (#2399) 2022-08-09 11:15:58 +02:00
interface.go Add housekeeping function to delete old/expired EDUs (#2399) 2022-08-09 11:15:58 +02:00
storage.go Global database connection pool (for monolith mode) (#2411) 2022-05-03 16:35:06 +01:00
storage_test.go De-race TestExpireEDUs (#2654) 2022-08-19 07:28:33 +02:00
storage_wasm.go Global database connection pool (for monolith mode) (#2411) 2022-05-03 16:35:06 +01:00