Commit graph

11 commits

Author SHA1 Message Date
Sean Quah
c675a18071
Track ongoing event fetches correctly (again) ()
The previous fix for the ongoing event fetches counter
(8eec25a1d9) was both insufficient and
incorrect.

When the database is unreachable, `_do_fetch` never gets run and so
`_event_fetch_ongoing` is never decremented.

The previous fix also moved the `_event_fetch_ongoing` decrement outside
of the `_event_fetch_lock` which allowed race conditions to corrupt the
counter.
2021-11-26 13:47:24 +00:00
Brendan Abolivier
0d88c4f903
Improve performance of remove_{hidden,deleted}_devices_from_device_inbox ()
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2021-11-25 15:14:54 +00:00
Dirk Klimpel
4535532526
Delete messages for hidden devices from device_inbox () 2021-11-02 13:18:30 +00:00
Dirk Klimpel
8d46fac98e
Delete messages from device_inbox table when deleting device ()
Fixes: 
2021-10-27 16:01:18 +01:00
David Robertson
370bca32e6
Don't drop user dir deltas when server leaves room ()
Fix a long-standing bug where a batch of user directory changes would be
silently dropped if the server left a room early in the batch.

* Pull out `wait_for_background_update` in tests

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2021-10-06 12:56:45 +00:00
Eric Eastwood
dc75fb7f05
Populate rooms.creator field for easy lookup ()
Part of https://github.com/matrix-org/synapse/pull/10566

 - Fill in creator whenever we insert into the rooms table
 - Add background update to backfill any missing creator values
2021-09-01 16:27:58 +01:00
reivilibre
642a42edde
Flatten the synapse.rest.client package () 2021-08-17 11:57:58 +00:00
Erik Johnston
c37dad67ab
Improve event caching code ()
Ensure we only load an event from the DB once when the same event is requested multiple times at once.
2021-08-04 13:54:51 +01:00
Erik Johnston
54389d5697
Fix dropping locks on shut down () 2021-07-20 14:24:25 +01:00
Erik Johnston
85d237eba7
Add a distributed lock ()
This adds a simple best effort locking mechanism that works cross workers.
2021-06-29 19:15:47 +01:00
Richard van der Hoff
b4b2fd2ece
add a cache to have_seen_event ()
Empirically, this helped my server considerably when handling gaps in Matrix HQ. The problem was that we would repeatedly call have_seen_events for the same set of (50K or so) auth_events, each of which would take many minutes to complete, even though it's only an index scan.
2021-06-01 12:04:47 +01:00