synapse/tests/storage
Erik Johnston c72d26c1e1
Refactor `EventContext` (#12689)
Refactor how the `EventContext` class works, with the intention of reducing the amount of state we fetch from the DB during event processing.

The idea here is to get rid of the cached `current_state_ids` and `prev_state_ids` that live in the `EventContext`, and instead defer straight to the database (and its caching). 

One change that may have a noticeable effect is that we now no longer prefill the `get_current_state_ids` cache on a state change. However, that query is relatively light, since its just a case of reading a table from the DB (unlike fetching state at an event which is more heavyweight). For deployments with workers this cache isn't even used.


Part of #12684
2022-05-10 19:43:13 +00:00
..
databases Add a consistency check on events read from the database (#12620) 2022-05-03 21:27:52 +01:00
util Await un-partial-stating after a partial-state join (#12399) 2022-04-21 07:42:03 +01:00
__init__.py
test__base.py Optimise `_update_client_ips_batch_txn` to batch together database operations. (#12252) 2022-04-08 15:29:13 +01:00
test_account_data.py Use the ignored_users table to test event visibility & sync. (#12225) 2022-03-15 14:06:05 -04:00
test_appservice.py Add type hints for `tests/unittest.py`. (#12347) 2022-04-01 16:04:16 +00:00
test_background_update.py Add type hints to tests files. (#12256) 2022-03-21 09:43:16 -04:00
test_base.py Replace assertEquals and friends with non-deprecated versions. (#12092) 2022-02-28 07:12:29 -05:00
test_cleanup_extrems.py Default to `private` room visibility rather than `public` when a client does not specify one, according to spec. (#12350) 2022-04-01 15:55:09 +01:00
test_client_ips.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
test_database.py Handle cancellation in `DatabasePool.runInteraction()` (#12199) 2022-03-16 15:07:41 +00:00
test_devices.py Mark remote device list updates as already handled (#12557) 2022-04-26 17:07:21 +01:00
test_directory.py Replace assertEquals and friends with non-deprecated versions. (#12092) 2022-02-28 07:12:29 -05:00
test_e2e_room_keys.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
test_end_to_end_keys.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
test_event_chain.py Refactor `EventContext` (#12689) 2022-05-10 19:43:13 +00:00
test_event_federation.py Stop writing to `event_reference_hashes` (#12679) 2022-05-10 15:35:08 +01:00
test_event_metrics.py Fix (final) Bugbear violations (#9838) 2021-04-20 11:50:49 +01:00
test_event_push_actions.py Replace assertEquals and friends with non-deprecated versions. (#12092) 2022-02-28 07:12:29 -05:00
test_events.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
test_id_generators.py Remove redundant `get_success` calls in test code (#12346) 2022-04-01 16:10:31 +01:00
test_keys.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
test_main.py Replace assertEquals and friends with non-deprecated versions. (#12092) 2022-02-28 07:12:29 -05:00
test_monthly_active_users.py Update mypy to 0.950 and fix complaints (#12650) 2022-05-06 12:35:20 +00:00
test_profile.py Replace assertEquals and friends with non-deprecated versions. (#12092) 2022-02-28 07:12:29 -05:00
test_purge.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
test_redaction.py Remove redundant `get_success` calls in test code (#12346) 2022-04-01 16:10:31 +01:00
test_registration.py Replace assertEquals and friends with non-deprecated versions. (#12092) 2022-02-28 07:12:29 -05:00
test_rollback_worker.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
test_room.py Replace assertEquals and friends with non-deprecated versions. (#12092) 2022-02-28 07:12:29 -05:00
test_room_search.py Replace assertEquals and friends with non-deprecated versions. (#12092) 2022-02-28 07:12:29 -05:00
test_roommember.py Add type hints to some tests files (#12371) 2022-04-05 13:54:41 +01:00
test_state.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
test_stream.py Generate historic pagination token for `/messages` when no `?from` token provided (#12370) 2022-04-06 11:40:28 +01:00
test_transactions.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
test_txn_limit.py Require direct references to configuration variables. (#10985) 2021-10-06 10:47:41 -04:00
test_unsafe_locale.py Refuse to start if DB has an unsafe locale (#12262) 2022-03-23 10:23:05 -07:00
test_user_directory.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00