This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
Sync race with get rooms for user cache invalidation over replication #14154
Labels
A-Sync
defects related to /sync
A-Workers
Problems related to running Synapse in Worker Mode (or replication)
O-Occasional
Affects or can be seen by some users regularly or most users rarely
S-Major
Major functionality / product severely impaired, no satisfactory workaround.
T-Defect
Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
Over the last few weeks we have started seeing syncs with missing just-joined rooms. This led me to dive deep into how sync works and ended up with identifying a few cache invalidation race conditions, my understanding of things is as follows:
notifier.wait_for_events
process_replication_rows
is called_invalidate_caches_for_event
call does NOT invalidate rooms for user, that is left to the state invalidations over replicationI then confirmed my suspicious by adding a log line: beeper/synapse@1346af1 which successfully identified the occurrences of this. I will now submit two different PRs to address this specific issue:
The text was updated successfully, but these errors were encountered: