element-hq / element-hq/synapse
simplify federation stream traffic
- Dominant language
- Python
- Stars
- 4.6k
- Forks
- 600
- Avg merge
- 5d 22h
- Merged PRs (30d)
- 51
Description
This issue has been migrated from [#7549](https://github.com/matrix-org/synapse/issues/7549).
---
The `federation` replication stream has four types of row:
* presence
* presence_destinations
* keyed_edus
* edus
`edus` is completely unused afaict, and `keyed_edus` is only used for typing updates. This is somewhat important, as the federation stream is not reliable (we can drop rows during restarts). Additionally, since typing notifications are typically sent to a lot of destinations, there is a lot of duplication.
Could/should we replace `keyed_edus` and `edus` with a single `typing` row type, and while we're at it remove a bunch of dead code in `FederationSender`/`FederationRemoteSendQueue`/`PerDestinationQueue` (eg `PerDestinationQueue._pending_edus` is never used)?
Contributor guide
Assessment
This issue has not been assessed yet.