MatrixSynapse/synapse
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
..
_scripts Speed up `get_unread_event_push_actions_by_room` (#13005) 2022-06-15 15:17:14 +00:00
api
app
appservice
config
crypto
events
federation Stop depending on `room_id` to be returned for children state in the hierarchy response. (#12991) 2022-06-10 07:15:51 -04:00
handlers Speed up `get_unread_event_push_actions_by_room` (#13005) 2022-06-15 15:17:14 +00:00
http
logging
metrics
module_api
push Speed up `get_unread_event_push_actions_by_room` (#13005) 2022-06-15 15:17:14 +00:00
replication
res Fix Jinja templating error when generating thumbnail URLs. (#12510) 2022-04-20 12:03:03 -04:00
rest Fix `destination_is` errors seen in sentry. (#13041) 2022-06-14 18:28:26 +01:00
server_notices
spam_checker_api
state
static
storage Speed up `get_unread_event_push_actions_by_room` (#13005) 2022-06-15 15:17:14 +00:00
streams Rework stream token to stop caring about groups. (#12897) 2022-05-31 07:42:50 -04:00
util Move the "email unsubscribe" resource, refactor the macaroon generator & simplify the access token verification logic. (#12986) 2022-06-14 09:12:08 -04:00
__init__.py
event_auth.py
notifier.py
py.typed
server.py
types.py
visibility.py