summary refs log tree commit diff
path: root/synapse/federation/replication.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/federation/replication.py')
-rw-r--r--synapse/federation/replication.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/synapse/federation/replication.py b/synapse/federation/replication.py
index 4cd17bdb9c..30aab7f35a 100644
--- a/synapse/federation/replication.py
+++ b/synapse/federation/replication.py
@@ -542,6 +542,21 @@ class ReplicationLayer(object):
 
         state = None
 
+        # We need to make sure we have all the auth events.
+        for e_id, _ in pdu.auth_events:
+            exists = yield self._get_persisted_pdu(
+                origin,
+                e_id,
+                do_auth=False
+            )
+
+            if not exists:
+                yield self.get_pdu(
+                    origin,
+                    event_id=e_id,
+                )
+                logger.debug("Processed pdu %s", e_id)
+
         # Get missing pdus if necessary.
         if not pdu.outlier:
             # We only backfill backwards to the min depth.