MatrixSynapse/synapse/handlers
Erik Johnston 0d1d3e0708
Speed up `get_unread_event_push_actions_by_room` (#13005)
Fixes #11887 hopefully.

The core change here is that `event_push_summary` now holds a summary of counts up until a much more recent point, meaning that the range of rows we need to count in `event_push_actions` is much smaller.

This needs two major changes:
1. When we get a receipt we need to recalculate `event_push_summary` rather than just delete it
2. The logic for deleting `event_push_actions` is now divorced from calculating `event_push_summary`.

In future it would be good to calculate `event_push_summary` while we persist a new event (it should just be a case of adding one to the relevant rows in `event_push_summary`), as that will further simplify the get counts logic and remove the need for us to periodically update `event_push_summary` in a background job.
2022-06-15 15:17:14 +00:00
..
ui_auth
__init__.py
account.py
account_data.py
account_validity.py
admin.py
appservice.py
auth.py Move the "email unsubscribe" resource, refactor the macaroon generator & simplify the access token verification logic. (#12986) 2022-06-14 09:12:08 -04:00
cas.py
deactivate_account.py
device.py Consolidate the logic of delete_device/delete_devices. (#12970) 2022-06-07 07:43:35 -04:00
devicemessage.py
directory.py Uniformize spam-checker API, part 4: port other spam-checker callbacks to return `Union[Allow, Codes]`. (#12857) 2022-06-13 18:16:16 +00:00
e2e_keys.py
e2e_room_keys.py
event_auth.py Remove redundant `room_version` param from `check_auth_rules_from_context` 2022-06-12 23:13:10 +01:00
events.py
federation.py Uniformize spam-checker API, part 4: port other spam-checker callbacks to return `Union[Allow, Codes]`. (#12857) 2022-06-13 18:16:16 +00:00
federation_event.py Merge branch 'rav/simplify_event_auth_interface' into develop 2022-06-13 11:34:59 +01:00
identity.py
initial_sync.py Reduce the amount of state we pull from the DB (#12811) 2022-06-06 09:24:12 +01:00
message.py Decouple `synapse.api.auth_blocking.AuthBlocking` from `synapse.api.auth.Auth`. (#13021) 2022-06-14 09:51:15 +01:00
oidc.py Move the "email unsubscribe" resource, refactor the macaroon generator & simplify the access token verification logic. (#12986) 2022-06-14 09:12:08 -04:00
pagination.py
password_policy.py
presence.py Wait for lazy join to complete when getting current state (#12872) 2022-06-01 16:02:53 +01:00
profile.py Remove remaining pieces of groups code. (#12966) 2022-06-06 13:20:05 -04:00
push_rules.py
read_marker.py
receipts.py
register.py Decouple `synapse.api.auth_blocking.AuthBlocking` from `synapse.api.auth.Auth`. (#13021) 2022-06-14 09:51:15 +01:00
relations.py Implement MSC3816, consider the root event for thread participation. (#12766) 2022-06-06 07:18:04 -04:00
room.py Decouple `synapse.api.auth_blocking.AuthBlocking` from `synapse.api.auth.Auth`. (#13021) 2022-06-14 09:51:15 +01:00
room_batch.py
room_list.py Wait for lazy join to complete when getting current state (#12872) 2022-06-01 16:02:53 +01:00
room_member.py Uniformize spam-checker API, part 4: port other spam-checker callbacks to return `Union[Allow, Codes]`. (#12857) 2022-06-13 18:16:16 +00:00
room_member_worker.py
room_summary.py Wait for lazy join to complete when getting current state (#12872) 2022-06-01 16:02:53 +01:00
saml.py
search.py Reduce the amount of state we pull from the DB (#12811) 2022-06-06 09:24:12 +01:00
send_email.py
set_password.py
sso.py
state_deltas.py
stats.py Wait for lazy join to complete when getting current state (#12872) 2022-06-01 16:02:53 +01:00
sync.py Speed up `get_unread_event_push_actions_by_room` (#13005) 2022-06-15 15:17:14 +00:00
typing.py Reduce state pulled from DB due to sending typing and receipts over federation (#12964) 2022-06-06 16:46:11 +01:00
user_directory.py Wait for lazy join to complete when getting current state (#12872) 2022-06-01 16:02:53 +01:00