MatrixSynapse/synapse/push
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
..
__init__.py Remove unneeded `ActionGenerator` class. (#12691) 2022-05-11 07:15:21 -04:00
baserules.py Remove `dont_notify` from the `.m.rule.room.server_acl` rule (#12849) 2022-05-24 17:42:32 +01:00
bulk_push_rule_evaluator.py Fix invite notifications for users without pushers (#12840) 2022-05-30 13:14:43 +02:00
clientformat.py Experimental support for MSC3772 (#12740) 2022-05-24 13:23:23 +00:00
emailpusher.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
httppusher.py Rename storage classes (#12913) 2022-05-31 12:17:50 +00:00
mailer.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
presentable_names.py Use inline type hints in various other places (in `synapse/`) (#10380) 2021-07-15 11:02:43 +01:00
push_rule_evaluator.py Experimental support for MSC3772 (#12740) 2022-05-24 13:23:23 +00:00
push_tools.py Speed up `get_unread_event_push_actions_by_room` (#13005) 2022-06-15 15:17:14 +00:00
push_types.py Improved push typing (#11409) 2021-11-30 11:49:20 +00:00
pusher.py Use direct references for some configuration variables (part 3) (#10885) 2021-09-23 07:13:34 -04:00
pusherpool.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
rulekinds.py Run Black. (#5482) 2019-06-20 19:32:02 +10:00