mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-12-13 17:57:28 -05:00
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.
This commit is contained in:
parent
2359ee3864
commit
878aa55293
3 changed files with 5 additions and 2 deletions
1
changelog.d/11632.bugfix
Normal file
1
changelog.d/11632.bugfix
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Fix a bug introduced in Synapse 1.19.3 which could sometimes cause `AssertionError`s when backfilling rooms over federation.
|
||||||
|
|
@ -272,7 +272,7 @@ class FederationClient(FederationBase):
|
||||||
|
|
||||||
# Check signatures and hash of pdus, removing any from the list that fail checks
|
# Check signatures and hash of pdus, removing any from the list that fail checks
|
||||||
pdus[:] = await self._check_sigs_and_hash_and_fetch(
|
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
|
return pdus
|
||||||
|
|
|
||||||
|
|
@ -666,7 +666,9 @@ class FederationEventHandler:
|
||||||
logger.info("Processing pulled event %s", event)
|
logger.info("Processing pulled event %s", event)
|
||||||
|
|
||||||
# these should not be outliers.
|
# 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
|
event_id = event.event_id
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue