summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2022-07-18 14:19:11 +0100
committerGitHub <noreply@github.com>2022-07-18 14:19:11 +0100
commitcf5fa5063d57e9fde96d666e9152bdda520431b8 (patch)
tree1f1782223cebd53e46a3882991aaddf3f8ccd3d1
parentUse READ COMMITTED isolation level when purging rooms (#12942) (diff)
downloadsynapse-cf5fa5063d57e9fde96d666e9152bdda520431b8.tar.xz
Don't pull out full state when sending dummy events (#13310)
-rw-r--r--changelog.d/13310.misc1
-rw-r--r--synapse/handlers/message.py8
2 files changed, 2 insertions, 7 deletions
diff --git a/changelog.d/13310.misc b/changelog.d/13310.misc
new file mode 100644
index 0000000000..eaf570e058
--- /dev/null
+++ b/changelog.d/13310.misc
@@ -0,0 +1 @@
+Reduce memory usage of sending dummy events.
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py
index b5fede9496..85abe71ea8 100644
--- a/synapse/handlers/message.py
+++ b/synapse/handlers/message.py
@@ -1849,13 +1849,8 @@ class EventCreationHandler:
 
         # For each room we need to find a joined member we can use to send
         # the dummy event with.
-        latest_event_ids = await self.store.get_prev_events_for_room(room_id)
-        members = await self.state.get_current_users_in_room(
-            room_id, latest_event_ids=latest_event_ids
-        )
+        members = await self.store.get_local_users_in_room(room_id)
         for user_id in members:
-            if not self.hs.is_mine_id(user_id):
-                continue
             requester = create_requester(user_id, authenticated_entity=self.server_name)
             try:
                 event, context = await self.create_event(
@@ -1866,7 +1861,6 @@ class EventCreationHandler:
                         "room_id": room_id,
                         "sender": user_id,
                     },
-                    prev_event_ids=latest_event_ids,
                 )
 
                 event.internal_metadata.proactively_send = False