synapse-old/synapse/storage
Richard van der Hoff a139420a3c
Fix races in room stats (and other) updates. (#6187)
Hopefully this will fix the occasional failures we were seeing in the room directory.

The problem was that events are not necessarily persisted (and `current_state_delta_stream` updated) in the same order as their stream_id. So for instance current_state_delta 9 might be persisted *before* current_state_delta 8. Then, when the room stats saw stream_id 9, it assumed it had done everything up to 9, and never came back to do stream_id 8.

We can solve this easily by only processing up to the stream_id where we know all events have been persisted.
2019-10-10 11:29:01 +01:00
..
engines Fix `devices_last_seen` background update. 2019-09-30 11:58:36 +01:00
schema Rewrite the user_filter migration again (#6184) 2019-10-10 11:28:23 +01:00
util Remove unnecessary parentheses around return statements (#5931) 2019-08-30 16:28:26 +01:00
__init__.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
_base.py Fix a cache-invalidation bug for worker-based deployments (#5920) 2019-08-28 10:18:16 +01:00
account_data.py Remove unnecessary parentheses around return statements (#5931) 2019-08-30 16:28:26 +01:00
appservice.py Remove double return statements (#5962) 2019-09-03 11:42:45 +01:00
background_updates.py Merge branch 'develop' of github.com:matrix-org/synapse into erikj/cleanup_user_ips_2 2019-09-25 17:53:13 +01:00
client_ips.py Cleanup client_ips 2019-10-08 14:38:14 +01:00
deviceinbox.py Move deviceinbox's bg updates to a dedicated store 2019-10-07 17:34:16 +01:00
devices.py Move devices's bg updates to a dedicated store 2019-10-07 17:34:20 +01:00
directory.py Remove double return statements (#5962) 2019-09-03 11:42:45 +01:00
e2e_room_keys.py Opentrace e2e keys (#5855) 2019-08-22 11:28:12 +01:00
end_to_end_keys.py Opentrace e2e keys (#5855) 2019-08-22 11:28:12 +01:00
event_federation.py Fix dummy event insertion consent bug (#6053) 2019-09-26 11:47:53 +01:00
event_push_actions.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
events.py Fix inserting bytes as text 2019-10-08 16:18:43 +01:00
events_bg_updates.py Add received_ts column to redactions. 2019-10-01 13:43:48 +01:00
events_worker.py Fix fetching censored redactions from DB 2019-10-02 10:14:01 +01:00
filtering.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
group_server.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
keys.py Run Black. (#5482) 2019-06-20 19:32:02 +10:00
media_repository.py Lint 2019-10-07 17:44:41 +01:00
monthly_active_users.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
openid.py Run black on the rest of the storage module (#4996) 2019-04-03 10:07:29 +01:00
prepare_database.py Code style (Black) 2019-08-27 09:39:11 +01:00
presence.py Remove unnecessary parentheses around return statements (#5931) 2019-08-30 16:28:26 +01:00
profile.py Remove double return statements (#5962) 2019-09-03 11:42:45 +01:00
push_rule.py Fix yields and copy instead of move push rules on room upgrade (#6144) 2019-10-02 12:04:22 +01:00
pusher.py Remove unnecessary parentheses around return statements (#5931) 2019-08-30 16:28:26 +01:00
receipts.py Remove unnecessary parentheses around return statements (#5931) 2019-08-30 16:28:26 +01:00
registration.py Fix RegistrationStore 2019-10-08 14:48:33 +01:00
rejections.py Run black on the rest of the storage module (#4996) 2019-04-03 10:07:29 +01:00
relations.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
room.py Merge pull request #6154 from matrix-org/erikj/fix_appservice_pagination 2019-10-02 16:50:32 +01:00
roommember.py Move roommember's bg updates to a dedicated store 2019-10-07 17:35:01 +01:00
search.py Lint 2019-10-07 17:44:41 +01:00
signatures.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
state.py Lint 2019-10-07 17:44:41 +01:00
state_deltas.py Fix races in room stats (and other) updates. (#6187) 2019-10-10 11:29:01 +01:00
stats.py add some logging to the rooms stats updates, to try to track down a flaky test (#6167) 2019-10-07 14:41:39 +01:00
stream.py Remove unnecessary parentheses around return statements (#5931) 2019-08-30 16:28:26 +01:00
tags.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
transactions.py Add 'failure_ts' column to 'destinations' table (#6016) 2019-09-17 11:41:54 +01:00
user_directory.py Move user_directory's bg updates to a dedicated store 2019-10-07 17:34:45 +01:00
user_erasure_store.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00