Commit graph

21 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 7fb194fc61
Rework statistics offline/blacklist clearing logic to flow better 2023-01-12 11:23:08 -07:00
Devon Hudson 07d2976854
Finish s&f rename refactor 2023-01-12 08:21:26 -07:00
Devon Hudson 7b2cbc7133
Incremental renaming refactor of relay server 2023-01-11 14:14:57 -07:00
Devon Hudson d1121643f4
Move fake federation database to it's own file 2022-12-13 13:43:07 -07:00
Devon Hudson ee8a1c5680
Rename mailserver to relay server 2022-12-09 13:06:16 -07:00
Devon Hudson 98c7711b84
Merge branch 'main' into mailbox 2022-12-02 16:13:30 -07:00
Devon Hudson 56e9b54f31
Handle retrieving async events on request 2022-12-02 14:07:40 -07:00
Devon Hudson 9dbfcd9e06
Handle async send success/fail cases 2022-12-01 14:17:13 -07:00
Devon Hudson e26d07c779
Add test for queued edus to set server assumed offline 2022-11-30 12:42:17 -07:00
Devon Hudson 1687aac200
Store assumed offline servers in the database 2022-11-30 12:38:54 -07:00
Devon Hudson 0c86e8269d
Query mailservers when creating a new server statistics instance 2022-11-29 17:51:04 -07:00
Devon Hudson d4dde15113
Mark server as assumed offline with configurable value 2022-11-29 15:10:16 -07:00
Neil Alexander 6650712a1c
Federation fixes for virtual hosting 2022-11-15 15:05:23 +00:00
Neil Alexander 529df30b56
Virtual hosting schema and logic changes (#2876)
Note that virtual users cannot federate correctly yet.
2022-11-11 16:41:37 +00:00
Neil Alexander f6dea712d2
Initial support for multiple server names (#2829)
This PR is the first step towards virtual hosting by laying the
groundwork for multiple server names being configured.
2022-10-26 12:59:19 +01:00
Till 9e4c3171da
Optimize inserting pending PDUs/EDUs (#2821)
This optimizes the association of PDUs/EDUs to their destination by
inserting all destinations in one transaction.
2022-10-21 12:50:51 +02:00
devonh b58c9bb094
Fix flakey queue test (#2818)
Ensure both events are added to the database, even if the destination is
already blacklisted.
2022-10-20 15:37:35 +00: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