This repository was archived by the owner on Apr 26, 2024. It is now read-only.
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
Faster joins: fix race where we can fail to persist an incoming event with partial state after _sync_partial_state_room
clears the partial state flag for a room #12988
Closed
Description
synapse/synapse/handlers/federation.py
Lines 1553 to 1569 in e3163e2
When we are processing an incoming event while _sync_partial_state_room
is running, _sync_partial_state_room
may clear the partial state flag for the room before we try to persist the event with a partial state flag. This leads to a foreign key constraint failure because there's no longer a partial_state_room
entry for the room.
See #12394 (comment) for an example.