forked-synapse/synapse/storage
Erik Johnston bf4db42920 Don't unnecessarily block notifying of new events.
When persisting events we calculate new stream orderings up front.
Before we notify about an event all events with lower stream orderings
must have finished being persisted.

This PR moves the assignment of stream ordering till *after* calculated
the new current state and split the batch of events into separate chunks
for persistence. This means that if it takes a long time to calculate
new current state then it will not block events in other rooms being
notified about.

This should help reduce some global pauses in the events stream which
can last for tens of seconds (if not longer), caused by some
particularly expensive state resolutions.
2019-08-06 13:32:02 +01:00
..
engines Run Black. (#5482) 2019-06-20 19:32:02 +10:00
schema Don't recreate column 2019-07-30 16:42:48 +01:00
util Run black on the rest of the storage module (#4996) 2019-04-03 10:07:29 +01:00
__init__.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
_base.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
account_data.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
appservice.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
background_updates.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
client_ips.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
deviceinbox.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
devices.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
directory.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
e2e_room_keys.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
end_to_end_keys.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
event_federation.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
event_push_actions.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
events_bg_updates.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
events_worker.py Merge branch 'master' into develop 2019-07-26 12:39:33 +01:00
events.py Don't unnecessarily block notifying of new events. 2019-08-06 13:32:02 +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 Run Black. (#5482) 2019-06-20 19:32:02 +10: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 Add membership column to current_state_events table. 2019-07-18 14:15:57 +01:00
presence.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
profile.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
push_rule.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
pusher.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
receipts.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
registration.py Have ClientReaderSlavedStore inherit RegistrationStore (#5806) 2019-08-01 13:54:56 +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 Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
roommember.py Fix current_state_events membership background update. 2019-07-30 14:51:41 +01:00
search.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
signatures.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
state_deltas.py Room Statistics (#4338) 2019-05-21 11:36:50 -05:00
state.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
stats.py Stop trying to fetch events with event_id=None. (#5753) 2019-07-24 13:16:18 +01:00
stream.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
tags.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
transactions.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
user_directory.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00
user_erasure_store.py Replace returnValue with return (#5736) 2019-07-23 23:00:55 +10:00