diff options
author | Erik Johnston <erik@matrix.org> | 2022-06-06 18:46:11 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-06 16:46:11 +0100 |
commit | 44de53bb79f961147386ea2a8bfbeb54b007cd41 (patch) | |
tree | 69b9b7896e2f69518bebcdd579619099888be9b4 /synapse/federation/sender | |
parent | Do not break URL previews if an image is unreachable. (#12950) (diff) | |
download | synapse-44de53bb79f961147386ea2a8bfbeb54b007cd41.tar.xz |
Reduce state pulled from DB due to sending typing and receipts over federation (#12964)
Reducing the amount of state we pull from the DB is useful as fetching state is expensive in terms of DB, CPU and memory.
Diffstat (limited to 'synapse/federation/sender')
-rw-r--r-- | synapse/federation/sender/__init__.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/synapse/federation/sender/__init__.py b/synapse/federation/sender/__init__.py index dbe303ed9b..99a794c042 100644 --- a/synapse/federation/sender/__init__.py +++ b/synapse/federation/sender/__init__.py @@ -245,6 +245,8 @@ class FederationSender(AbstractFederationSender): self.store = hs.get_datastores().main self.state = hs.get_state_handler() + self._storage_controllers = hs.get_storage_controllers() + self.clock = hs.get_clock() self.is_mine_id = hs.is_mine_id @@ -602,7 +604,9 @@ class FederationSender(AbstractFederationSender): room_id = receipt.room_id # Work out which remote servers should be poked and poke them. - domains_set = await self.state.get_current_hosts_in_room(room_id) + domains_set = await self._storage_controllers.state.get_current_hosts_in_room( + room_id + ) domains = [ d for d in domains_set |