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.
|