Commit graph

25 commits

Author SHA1 Message Date
Devon Hudson e83940b5cf
Move in memory test databases into test package 2023-01-12 16:11:15 -07:00
Devon Hudson b2c8094643
Name test constants for clarity 2023-01-12 12:27:06 -07:00
Devon Hudson 73c42232fc
Fix race in refactored statistics 2023-01-12 12:20:03 -07:00
Devon Hudson e54e036948
Remove code complexity when adding relay server 2023-01-12 11:35:54 -07:00
Devon Hudson 7fb194fc61
Rework statistics offline/blacklist clearing logic to flow better 2023-01-12 11:23:08 -07:00
Devon Hudson f6a9a77ecc
Check assumed offline state in statistics test 2023-01-12 11:22:10 -07:00
Devon Hudson cba0644ec2
Refactor stats success to clarify whether sent via relay or direct 2023-01-12 10:44:52 -07:00
Devon Hudson 75fd677081
Merge branch 'main' into mailbox 2023-01-12 09:29:16 -07:00
Devon Hudson 477a44faa6
Always initialize statistics server map 2023-01-12 09:23:03 -07:00
Devon Hudson 18cc81fb9f
Add tests for caching relay servers from db 2022-12-23 17:07:51 -07:00
Devon Hudson f76336151c
Add fed wakeup servers test 2022-12-23 07:53:56 -07:00
Devon Hudson ee8a1c5680
Rename mailserver to relay server 2022-12-09 13:06:16 -07:00
Devon Hudson 1df1a597ec
Remove assume offline on broadcast received 2022-12-02 16:18:48 -07:00
Devon Hudson 9dbfcd9e06
Handle async send success/fail cases 2022-12-01 14:17:13 -07:00
Devon Hudson 1687aac200
Store assumed offline servers in the database 2022-11-30 12:38:54 -07:00
Devon Hudson 116bdfc511
Add doc comments for statistics 2022-11-29 17:54:48 -07:00
Devon Hudson 0c86e8269d
Query mailservers when creating a new server statistics instance 2022-11-29 17:51:04 -07:00
Devon Hudson 2df4b0750e
Don't do regular federation if should be using mailserver 2022-11-29 15:52:21 -07:00
Devon Hudson d4dde15113
Mark server as assumed offline with configurable value 2022-11-29 15:10:16 -07:00
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
Neil Alexander f3be4b3185
Revert "Federation backoff fixes and tests (#2792)"
This reverts commit dcedd1b6bf.
2022-10-13 16:06:50 +01:00
devonh dcedd1b6bf
Federation backoff fixes and tests (#2792)
This fixes some edge cases where federation queue backoffs and
blacklisting weren't behaving as expected.
It also adds new tests for the federation queues to ensure their
behaviour continues to work correctly.
2022-10-13 14:38:13 +00:00
Neil Alexander bd39748b5c
Update dependencies (#2729)
This updates Dendrite dependencies.
2022-09-20 15:01:19 +01:00
Till 78e5d05efc
Only set backOffStarted to false if until is not zero (#2669) 2022-08-23 16:54:42 +02:00
Neil Alexander ec716793eb
Merge federationapi, federationsender, signingkeyserver components (#2055)
* Initial federation sender -> federation API refactoring

* Move base into own package, avoids import cycle

* Fix build errors

* Fix tests

* Add signing key server tables

* Try to fold signing key server into federation API

* Fix dendritejs builds

* Update embedded interfaces

* Fix panic, fix lint error

* Update configs, docker

* Rename some things

* Reuse same keyring on the implementing side

* Fix federation tests, `NewBaseDendrite` can accept freeform options

* Fix build

* Update create_db, configs

* Name tables back

* Don't rename federationsender consumer for now
2021-11-24 10:45:23 +00:00