summary refs log tree commit diff
path: root/changelog.d
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2019-08-06 13:27:22 +0100
committerErik Johnston <erik@matrix.org>2019-08-06 13:32:02 +0100
commitbf4db429209aa8ed6b8926bc8a17cbd1489d97f8 (patch)
tree87feb384f6298f91a0b783e1925b468df4d940ca /changelog.d
parentAccount validity: allow defining HTML templates to serve the us… (#5807) (diff)
downloadsynapse-bf4db429209aa8ed6b8926bc8a17cbd1489d97f8.tar.xz
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.
Diffstat (limited to 'changelog.d')
0 files changed, 0 insertions, 0 deletions