summary refs log tree commit diff
path: root/synapse/handlers/event_auth.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/handlers/event_auth.py')
-rw-r--r--synapse/handlers/event_auth.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/synapse/handlers/event_auth.py b/synapse/handlers/event_auth.py
index c508861b6a..272f312fda 100644
--- a/synapse/handlers/event_auth.py
+++ b/synapse/handlers/event_auth.py
@@ -63,9 +63,19 @@ class EventAuthHandler:
             self._store, event, batched_auth_events
         )
         auth_event_ids = event.auth_event_ids()
-        auth_events_by_id = await self._store.get_events(auth_event_ids)
+        logger.info("Batched auth events %s", list(batched_auth_events.keys()))
+        logger.info("auth events %s", auth_event_ids)
         if batched_auth_events:
-            auth_events_by_id.update(batched_auth_events)
+            auth_events_by_id = dict(batched_auth_events)
+            if set(auth_event_ids) - set(batched_auth_events):
+                logger.info("fetching %s", set(auth_event_ids) - set(batched_auth_events))
+                auth_events_by_id.update(
+                    await self._store.get_events(
+                        set(auth_event_ids) - set(batched_auth_events)
+                    )
+                )
+        else:
+            auth_events_by_id = await self._store.get_events(auth_event_ids)
         check_state_dependent_auth_rules(event, auth_events_by_id.values())
 
     def compute_auth_events(