Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 878aa55

Browse files
authored
FederationClient.backfill: stop flagging events as outliers (#11632)
Events returned by `backfill` should not be flagged as outliers. Fixes: ``` AssertionError: null File "synapse/handlers/federation.py", line 313, in try_backfill dom, room_id, limit=100, extremities=extremities File "synapse/handlers/federation_event.py", line 517, in backfill await self._process_pulled_events(dest, events, backfilled=True) File "synapse/handlers/federation_event.py", line 642, in _process_pulled_events await self._process_pulled_event(origin, ev, backfilled=backfilled) File "synapse/handlers/federation_event.py", line 669, in _process_pulled_event assert not event.internal_metadata.is_outlier() ``` See https://sentry.matrix.org/sentry/synapse-matrixorg/issues/231992 Fixes #8894.
1 parent 2359ee3 commit 878aa55

File tree

3 files changed

+5
-2
lines changed

3 files changed

+5
-2
lines changed

changelog.d/11632.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix a bug introduced in Synapse 1.19.3 which could sometimes cause `AssertionError`s when backfilling rooms over federation.

synapse/federation/federation_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ async def backfill(
272272

273273
# Check signatures and hash of pdus, removing any from the list that fail checks
274274
pdus[:] = await self._check_sigs_and_hash_and_fetch(
275-
dest, pdus, outlier=True, room_version=room_version
275+
dest, pdus, room_version=room_version
276276
)
277277

278278
return pdus

synapse/handlers/federation_event.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,9 @@ async def _process_pulled_event(
666666
logger.info("Processing pulled event %s", event)
667667

668668
# these should not be outliers.
669-
assert not event.internal_metadata.is_outlier()
669+
assert (
670+
not event.internal_metadata.is_outlier()
671+
), "pulled event unexpectedly flagged as outlier"
670672

671673
event_id = event.event_id
672674

0 commit comments

Comments
 (0)