From 883bb8a9b1751a90ef8155aff5e4a58df0a07418 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 20 Aug 2025 09:58:01 +0100 Subject: [PATCH] Handle gaps with unassigned stitched ordering --- synapse/storage/controllers/persist_events.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/synapse/storage/controllers/persist_events.py b/synapse/storage/controllers/persist_events.py index eee314fe07..14f834cb83 100644 --- a/synapse/storage/controllers/persist_events.py +++ b/synapse/storage/controllers/persist_events.py @@ -716,7 +716,13 @@ class EventsPersistenceStorageController: ) ) - # TODO XXX what if previous_event_stitched_order is None? + # if previous_event_stitched_order is None, that means we have a room + # where there are existing events or gaps without assigned stitched orders. + # Let's give up trying to assign stitched orders here. + if previous_event_stitched_order is None: + # TODO do something better here + logger.warning("Found gap event %s without assigned stitched order: bailing", gap_event) + return still_remaining_batch = [] for event, context in remaining_batch: