synapse-product/synapse
Matthew Hodgson bb81e78ec6
Split the state_group_cache in two (#3726)
Splits the state_group_cache in two.

One half contains normal state events; the other contains member events.

The idea is that the lazyloading common case of: "I want a subset of member events plus all of the other state" can be accomplished efficiently by splitting the cache into two, and asking for "all events" from the non-members cache, and "just these keys" from the members cache.  This means we can avoid having to make DictionaryCache aware of these sort of complicated queries, whilst letting LL requests benefit from the caching.

Previously we were unable to sensibly use the caching and had to pull all state from the DB irrespective of the filtering, which made things slow.  Hopefully fixes https://github.com/matrix-org/synapse/issues/3720.
2018-08-22 00:56:37 +02:00
..
api Port over enough to get some sytests running on Python 3 (#3668) 2018-08-20 23:54:49 +10:00
app Merge pull request #3709 from matrix-org/rav/logcontext_for_replication_commands 2018-08-17 16:22:07 +01:00
appservice run isort 2018-07-09 16:09:20 +10:00
config Port over enough to get some sytests running on Python 3 (#3668) 2018-08-20 23:54:49 +10:00
crypto Don't log exceptions when failing to fetch server keys 2018-08-21 11:19:26 +01:00
events Handle delta_ids being None in _update_context_for_auth_events 2018-07-23 22:06:50 +01:00
federation Log more detail when we fail to authenticate request 2018-08-21 11:42:49 +01:00
groups Fix some looping_call calls which were broken in #3604 2018-07-26 11:48:08 +01:00
handlers Merge pull request #3710 from matrix-org/rav/logcontext_for_pusher_updates 2018-08-17 16:21:49 +01:00
http Bugfixes 2018-08-21 20:30:09 +01:00
metrics isort 2018-08-21 09:38:38 +01:00
module_api Delete devices in various logout situations 2017-11-29 16:44:35 +00:00
push Fix logcontexts for running pushers 2018-08-17 00:32:39 +01:00
replication Merge pull request #3713 from matrix-org/erikj/fixup_fed_logging 2018-08-20 10:51:45 +01:00
rest Port over enough to get some sytests running on Python 3 (#3668) 2018-08-20 23:54:49 +10:00
server_notices run isort 2018-07-09 16:09:20 +10:00
static/client Use recaptcha_ajax.js directly from Google 2018-08-10 13:36:14 +02:00
storage Split the state_group_cache in two (#3726) 2018-08-22 00:56:37 +02:00
streams Fix develop because I broke it :( (#3535) 2018-07-14 09:51:00 +10:00
util Fix exceptions when a connection is closed before we read the headers 2018-08-20 18:21:10 +01:00
__init__.py changelog 2018-08-21 03:48:55 +10:00
event_auth.py Check m.room.create for sane room_versions 2018-08-06 16:11:24 +01:00
notifier.py Rename async to async_helpers because async is a keyword on Python 3.7 (#3678) 2018-08-10 23:50:21 +10:00
python_dependencies.py Correct attrs package name in requirements (#3492) 2018-07-07 10:46:59 +10:00
secrets.py Port over enough to get some sytests running on Python 3 (#3668) 2018-08-20 23:54:49 +10:00
server.py Add EDU/query handling over replication 2018-08-06 15:23:31 +01:00
server.pyi Send users a server notice about consent 2018-05-22 11:54:51 +01:00
state.py Use get_cache_factor_for function for state_cache 2018-08-20 13:01:46 +01:00
types.py Python 3: Convert some unicode/bytes uses (#3569) 2018-08-02 00:54:06 +10:00
visibility.py Merge remote-tracking branch 'origin/develop' into rav/remove_who_forgot_in_room 2018-07-23 17:15:12 +01:00