summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/12330.misc1
-rw-r--r--synapse/handlers/federation_event.py6
2 files changed, 7 insertions, 0 deletions
diff --git a/changelog.d/12330.misc b/changelog.d/12330.misc
new file mode 100644

index 0000000000..9f333e718a --- /dev/null +++ b/changelog.d/12330.misc
@@ -0,0 +1 @@ +Avoid trying to calculate the state at outlier events. diff --git a/synapse/handlers/federation_event.py b/synapse/handlers/federation_event.py
index 4bd87709f3..567afc910f 100644 --- a/synapse/handlers/federation_event.py +++ b/synapse/handlers/federation_event.py
@@ -469,6 +469,12 @@ class FederationEventHandler: if context.rejected: raise SynapseError(400, "Join event was rejected") + # the remote server is responsible for sending our join event to the rest + # of the federation. Indeed, attempting to do so will result in problems + # when we try to look up the state before the join (to get the server list) + # and discover that we do not have it. + event.internal_metadata.proactively_send = False + return await self.persist_events_and_notify(room_id, [(event, context)]) async def backfill(