forked-synapse/synapse
Matthew Hodgson a75231b507
Deduplicate redundant lazy-loaded members (#3331)
* attempt at deduplicating lazy-loaded members

as per the proposal; we can deduplicate redundant lazy-loaded members
which are sent in the same sync sequence. we do this heuristically
rather than requiring the client to somehow tell us which members it
has chosen to cache, by instead caching the last N members sent to
a client, and not sending them again.  For now we hardcode N to 100.
Each cache for a given (user,device) tuple is in turn cached for up to
X minutes (to avoid the caches building up).  For now we hardcode X to 30.

* add include_redundant_members filter option & make it work

* remove stale todo

* add tests for _get_some_state_from_cache

* incorporate review
2018-07-26 22:51:30 +01:00
..
api Deduplicate redundant lazy-loaded members (#3331) 2018-07-26 22:51:30 +01:00
app Fix some looping_call calls which were broken in #3604 2018-07-26 11:48:08 +01:00
appservice run isort 2018-07-09 16:09:20 +10:00
config rerun isort with latest version 2018-07-16 14:23:25 +02:00
crypto run isort 2018-07-09 16:09:20 +10:00
events Handle delta_ids being None in _update_context_for_auth_events 2018-07-23 22:06:50 +01:00
federation Improve logging for exceptions handling PDUs 2018-07-23 22:13:19 +01:00
groups Fix some looping_call calls which were broken in #3604 2018-07-26 11:48:08 +01:00
handlers Deduplicate redundant lazy-loaded members (#3331) 2018-07-26 22:51:30 +01:00
http Move v1-only APIs into their own module & isolate deprecated ones (#3460) 2018-07-19 20:03:33 +10:00
metrics Fix some looping_call calls which were broken in #3604 2018-07-26 11:48:08 +01:00
module_api Delete devices in various logout situations 2017-11-29 16:44:35 +00:00
push Use new getters 2018-07-23 13:17:22 +01:00
replication Fix unit tests 2018-07-25 10:30:36 +01:00
rest Fix some looping_call calls which were broken in #3604 2018-07-26 11:48:08 +01:00
server_notices run isort 2018-07-09 16:09:20 +10:00
static/client
storage Merge pull request #3613 from matrix-org/rav/stop_using_event_edges_room_id 2018-07-26 22:31:01 +01:00
streams Fix develop because I broke it :( (#3535) 2018-07-14 09:51:00 +10:00
util Fix some looping_call calls which were broken in #3604 2018-07-26 11:48:08 +01:00
__init__.py 0.33 final 2018-07-19 21:11:40 +10:00
event_auth.py run isort 2018-07-09 16:09:20 +10:00
notifier.py WIP to announce deleted devices over federation 2018-07-12 01:32:39 +01:00
python_dependencies.py Correct attrs package name in requirements (#3492) 2018-07-07 10:46:59 +10:00
secrets.py Admin API for creating new users (#3415) 2018-07-20 22:41:13 +10:00
server.py Merge branch 'develop' of github.com:matrix-org/synapse into erikj/client_apis_move 2018-07-23 13:21:15 +01:00
server.pyi Send users a server notice about consent 2018-05-22 11:54:51 +01:00
state.py Fixes and optimisations for resolve_state_groups 2018-07-23 19:10:11 +01:00
types.py run isort 2018-07-09 16:09:20 +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