summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/11632.bugfix1
-rw-r--r--synapse/federation/federation_client.py2
-rw-r--r--synapse/handlers/federation_event.py4
3 files changed, 5 insertions, 2 deletions
diff --git a/changelog.d/11632.bugfix b/changelog.d/11632.bugfix
new file mode 100644
index 0000000000..c73d41652a
--- /dev/null
+++ b/changelog.d/11632.bugfix
@@ -0,0 +1 @@
+Fix a bug introduced in Synapse 1.19.3 which could sometimes cause `AssertionError`s when backfilling rooms over federation.
diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py
index fee1477ab6..7353c2b6b1 100644
--- a/synapse/federation/federation_client.py
+++ b/synapse/federation/federation_client.py
@@ -272,7 +272,7 @@ class FederationClient(FederationBase):
 
         # Check signatures and hash of pdus, removing any from the list that fail checks
         pdus[:] = await self._check_sigs_and_hash_and_fetch(
-            dest, pdus, outlier=True, room_version=room_version
+            dest, pdus, room_version=room_version
         )
 
         return pdus
diff --git a/synapse/handlers/federation_event.py b/synapse/handlers/federation_event.py
index d08e48da58..7c81e3651f 100644
--- a/synapse/handlers/federation_event.py
+++ b/synapse/handlers/federation_event.py
@@ -666,7 +666,9 @@ class FederationEventHandler:
         logger.info("Processing pulled event %s", event)
 
         # these should not be outliers.
-        assert not event.internal_metadata.is_outlier()
+        assert (
+            not event.internal_metadata.is_outlier()
+        ), "pulled event unexpectedly flagged as outlier"
 
         event_id = event.event_id