mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-21 09:05:42 +03:00
Sliding Sync: Fix _bulk_get_max_event_pos(...)
being inefficient (#17728)
Fix `_bulk_get_max_event_pos(...)` being inefficient. It kept adding all of the `batch_results` to the `results` over and over every time we checked a single room in the batch. I think we still ended up with the right answer before because we accumulate `recheck_rooms` and actually recheck them to overwrite the bad data we wrote to the `results` before. Introduced in https://github.com/element-hq/synapse/pull/17606/files#diff-cbd54e4b5a2a1646299d659a2d5884d6cb14e608efd2e1658e72b465bb66e31bR1481
This commit is contained in:
parent
af998e6c66
commit
faf5b40520
2 changed files with 2 additions and 1 deletions
1
changelog.d/17728.misc
Normal file
1
changelog.d/17728.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Fix `_bulk_get_max_event_pos` being inefficient.
|
|
@ -1584,7 +1584,7 @@ class StreamWorkerStore(EventsWorkerStore, SQLBaseStore):
|
|||
)
|
||||
for room_id, stream_ordering in batch_results.items():
|
||||
if stream_ordering <= now_token.stream:
|
||||
results.update(batch_results)
|
||||
results[room_id] = stream_ordering
|
||||
else:
|
||||
recheck_rooms.add(room_id)
|
||||
|
||||
|
|
Loading…
Reference in a new issue