synapse/synapse
Erik Johnston aa6e5c2ecb
Add locking to more safely delete state groups: Part 1 (#18107)
Currently we don't really have anything that stops us from deleting
state groups when an in-flight event references it. This is a fairly
rare race currently, but we want to be able to more aggressively delete
state groups so it is important to address this to ensure that the
database remains valid.

This implements the locking, but doesn't actually use it.

See the class docstring of the new data store for an explanation for how
this works.

---------

Co-authored-by: Devon Hudson <devon.dmytro@gmail.com>
2025-02-03 17:29:15 +00:00
..
_scripts Speed up slow initial sliding syncs on large servers (#17946) 2024-11-19 15:03:32 +00:00
api Ratelimit presence updates (#18000) 2025-01-24 19:58:01 +00:00
app Add missing license header (#17799) 2024-10-08 12:01:44 +01:00
appservice Support for MSC4190: device management for application services (#17705) 2024-12-04 12:04:49 +01:00
config Raise an error if someone is using an incorrect suffix in a config duration string (#18112) 2025-01-29 18:14:02 -06:00
crypto Fix fetching signing keys when old_verify_keys is omitted (#17568) 2024-08-14 14:13:56 +01:00
events Never autojoin deactivated & suspended users. (#18073) 2025-01-28 00:37:24 +00:00
federation Merge branch 'master' into develop 2024-12-03 17:44:48 +01:00
handlers Add locking to more safely delete state groups: Part 1 (#18107) 2025-02-03 17:29:15 +00:00
http Fix mypy errors on Twisted 24.11.0 (#17998) 2024-12-18 11:49:38 +00:00
logging Stop using twisted.internet.defer.returnValue (#18020) 2024-12-20 10:57:59 +00:00
media Restrict which image formats we will decode in order to generate thumbnails 2024-12-03 09:53:21 +01:00
metrics Format files with Ruff (#17643) 2024-09-02 12:39:04 +01:00
module_api Refactor get_profile: do not return missing fields. (#18063) 2025-01-03 17:23:29 +00:00
push Bump mypy from 1.11.2 to 1.12.1 and fix new typechecking errors (#17999) 2024-12-18 11:42:17 +00:00
replication Fix new scheduled tasks jumping the queue (#17962) 2024-11-28 18:06:19 +00:00
res Send an email if the address is already bound to an user account (#16819) 2024-04-23 16:45:24 +01:00
rest Ratelimit presence updates (#18000) 2025-01-24 19:58:01 +00:00
server_notices Format files with Ruff (#17643) 2024-09-02 12:39:04 +01:00
spam_checker_api Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
state Add locking to more safely delete state groups: Part 1 (#18107) 2025-02-03 17:29:15 +00:00
static
storage Add locking to more safely delete state groups: Part 1 (#18107) 2025-02-03 17:29:15 +00:00
streams Fix regression when bounding future tokens (#17391) 2024-07-02 14:06:36 +01:00
synapse_rust Move server event filtering logic to rust (#17928) 2024-11-14 16:18:24 +00:00
types Sliding Sync: Include invite, ban, kick, targets when $LAZY-loading room members (#17947) 2024-12-02 10:17:55 -06:00
util Implement MSC4133 to support custom profile fields. (#17488) 2025-01-21 11:11:04 +00:00
__init__.py Remove support for python 3.8 (#17908) 2024-11-06 19:36:01 +00:00
_pydantic_compat.py import pydantic objects from the _pydantic_compat module (#17667) 2024-09-11 21:01:43 +00:00
event_auth.py Fix join being denied after being invited over federation (#18075) 2025-01-27 11:21:10 -06:00
notifier.py Optimise notifier mk2 (#17766) 2024-09-30 13:32:31 +01:00
py.typed
server.py Fix join being denied after being invited over federation (#18075) 2025-01-27 11:21:10 -06:00
visibility.py Move server event filtering logic to rust (#17928) 2024-11-14 16:18:24 +00:00