summary refs log tree commit diff
path: root/synapse/handlers/device.py
diff options
context:
space:
mode:
authorDavid Robertson <davidr@element.io>2022-10-18 12:33:18 +0100
committerGitHub <noreply@github.com>2022-10-18 12:33:18 +0100
commitc3a4780080a5bcb04132283c0f32f7452655792a (patch)
tree5df23de9727a043922709a76125ae3665e5a828e /synapse/handlers/device.py
parentAllow poetry-core 1.3.2 (#14217) (diff)
downloadsynapse-c3a4780080a5bcb04132283c0f32f7452655792a.tar.xz
When restarting a partial join resync, prioritise the server which actioned a partial join (#14126)
Diffstat (limited to 'synapse/handlers/device.py')
-rw-r--r--synapse/handlers/device.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py
index f9cc5bddbc..c597639a7f 100644
--- a/synapse/handlers/device.py
+++ b/synapse/handlers/device.py
@@ -937,7 +937,10 @@ class DeviceListUpdater:
         # Check if we are partially joining any rooms. If so we need to store
         # all device list updates so that we can handle them correctly once we
         # know who is in the room.
-        partial_rooms = await self.store.get_partial_state_rooms_and_servers()
+        # TODO(faster joins): this fetches and processes a bunch of data that we don't
+        # use. Could be replaced by a tighter query e.g.
+        #   SELECT EXISTS(SELECT 1 FROM partial_state_rooms)
+        partial_rooms = await self.store.get_partial_state_room_resync_info()
         if partial_rooms:
             await self.store.add_remote_device_list_to_pending(
                 user_id,