synapse-product/synapse
Richard van der Hoff e5300063ed
Optimise queueing of inbound replication commands (#7861)
When we get behind on replication, we tend to stack up background processes
behind a linearizer. Bg processes are heavy (particularly with respect to
prometheus metrics) and linearizers aren't terribly efficient once the queue
gets long either.

A better approach is to maintain a queue of requests to be processed, and
nominate a single process to work its way through the queue.

Fixes: #7444
2020-07-16 15:49:37 +01:00
..
_scripts Replace all remaining six usage with native Python 3 equivalents (#7704) 2020-06-16 08:51:47 -04:00
api Ensure that calls to json.dumps are compatible with the standard library json. (#7836) 2020-07-15 13:40:54 -04:00
app Allow moving typing off master (#7869) 2020-07-16 15:12:54 +01:00
appservice Include room states on invite events sent to ASes (#6455) 2020-07-10 18:44:56 +01:00
config Allow moving typing off master (#7869) 2020-07-16 15:12:54 +01:00
crypto Replace all remaining six usage with native Python 3 equivalents (#7704) 2020-06-16 08:51:47 -04:00
events Add HomeServer.signing_key property (#7805) 2020-07-08 17:51:56 +01:00
federation Allow moving typing off master (#7869) 2020-07-16 15:12:54 +01:00
groups Add HomeServer.signing_key property (#7805) 2020-07-08 17:51:56 +01:00
handlers Reject attempts to join empty rooms over federation (#7859) 2020-07-16 15:17:31 +01:00
http Ensure that calls to json.dumps are compatible with the standard library json. (#7836) 2020-07-15 13:40:54 -04:00
logging isort 5 compatibility (#7786) 2020-07-05 16:32:02 +01:00
metrics Improve stacktraces from exceptions in background processes (#7808) 2020-07-09 13:01:33 +01:00
module_api Wrap register_device coroutine in an ensureDeferred (#7684) 2020-06-16 10:13:59 +01:00
push Add ability to run multiple pusher instances (#7855) 2020-07-16 14:06:28 +01:00
replication Optimise queueing of inbound replication commands (#7861) 2020-07-16 15:49:37 +01:00
res/templates Implement OpenID Connect-based login (#7256) 2020-05-08 08:30:40 -04:00
rest Allow moving typing off master (#7869) 2020-07-16 15:12:54 +01:00
server_notices Replace all remaining six usage with native Python 3 equivalents (#7704) 2020-06-16 08:51:47 -04:00
spam_checker_api Add type hints to the spam check module (#6915) 2020-02-14 12:49:40 -05:00
state Add another yield point to state res v2 (#7746) 2020-06-26 10:44:52 +01:00
static Clean-up the fallback login code. (#7657) 2020-06-10 09:50:39 -04:00
storage Merge pull request #7866 from matrix-org/rav/fix_guest_user_id 2020-07-16 13:54:45 +01:00
streams Fix some spelling mistakes / typos. (#7811) 2020-07-09 09:52:58 -04:00
util Fix some spelling mistakes / typos. (#7811) 2020-07-09 09:52:58 -04:00
__init__.py 1.17.0 2020-07-13 10:20:36 +01:00
event_auth.py Fix recursion error when fetching auth chain over federation (#7817) 2020-07-10 18:15:35 +01:00
notifier.py Fix some spelling mistakes / typos. (#7811) 2020-07-09 09:52:58 -04:00
python_dependencies.py Allow to use higher versions of prometheus_client (#7780) 2020-07-06 10:21:41 +01:00
secrets.py isort 5 compatibility (#7786) 2020-07-05 16:32:02 +01:00
server.py Allow moving typing off master (#7869) 2020-07-16 15:12:54 +01:00
server.pyi Allow moving typing off master (#7869) 2020-07-16 15:12:54 +01:00
types.py isort 5 compatibility (#7786) 2020-07-05 16:32:02 +01:00
visibility.py Fix some spelling mistakes / typos. (#7811) 2020-07-09 09:52:58 -04:00