c72d26c1e1
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 |
||
---|---|---|
.. | ||
databases | ||
util | ||
__init__.py | ||
test__base.py | ||
test_account_data.py | ||
test_appservice.py | ||
test_background_update.py | ||
test_base.py | ||
test_cleanup_extrems.py | ||
test_client_ips.py | ||
test_database.py | ||
test_devices.py | ||
test_directory.py | ||
test_e2e_room_keys.py | ||
test_end_to_end_keys.py | ||
test_event_chain.py | ||
test_event_federation.py | ||
test_event_metrics.py | ||
test_event_push_actions.py | ||
test_events.py | ||
test_id_generators.py | ||
test_keys.py | ||
test_main.py | ||
test_monthly_active_users.py | ||
test_profile.py | ||
test_purge.py | ||
test_redaction.py | ||
test_registration.py | ||
test_rollback_worker.py | ||
test_room.py | ||
test_room_search.py | ||
test_roommember.py | ||
test_state.py | ||
test_stream.py | ||
test_transactions.py | ||
test_txn_limit.py | ||
test_unsafe_locale.py | ||
test_user_directory.py |