synapse/tests
Erik Johnston 0e0a2817a2
Yield during large v2 state res. (#7735)
State res v2 across large data sets can be very CPU intensive, and if
all the relevant events are in the cache the algorithm will run from
start to finish within a single reactor tick. This can result in
blocking the reactor tick for several seconds, which can have major
repercussions on other requests.

To fix this we simply add the occaisonal `sleep(0)` during iterations to
yield execution until the next reactor tick. The aim is to only do this
for large data sets so that we don't impact otherwise quick resolutions.=
2020-06-24 18:48:18 +01:00
..
api Performance improvements and refactor of Ratelimiter (#7595) 2020-06-05 10:47:20 +01:00
app Create a ListenerConfig object (#7681) 2020-06-16 12:44:07 +01:00
appservice Refactor the Appservice scheduler code 2019-08-20 11:50:23 +01:00
config Fix specifying cache factors via env vars with * in name. (#7580) 2020-05-27 13:17:01 +01:00
crypto Clean up some LoggingContext stuff (#7120) 2020-03-24 14:45:33 +00:00
events Implement room version 6 (MSC2240). (#7506) 2020-05-15 09:30:10 -04:00
federation Add option to enable encryption by default for new rooms (#7639) 2020-06-10 17:44:34 +01:00
handlers Convert the typing handler to async/await. (#7679) 2020-06-17 10:37:59 -04:00
http Include a user agent in federation requests. (#7677) 2020-06-16 10:43:29 -04:00
logging Fix for structured logging tests stomping on logs (#6023) 2019-09-13 02:29:55 +10:00
module_api Wrap register_device coroutine in an ensureDeferred (#7684) 2020-06-16 10:13:59 +01:00
push Ensure the body is a string before comparing push rules. (#7701) 2020-06-15 16:20:34 -04:00
replication Merge branch 'develop' into babolivier/mark_unread 2020-06-15 16:37:52 +01:00
rest add org.matrix.login.jwt so that m.login.jwt can be deprecated (#7675) 2020-06-24 10:23:55 +01:00
scripts Port register_new_matrix_user to Python 3 and add tests (#4085) 2018-10-26 22:05:22 +11:00
server_notices Optimise some references to hs.config (#7546) 2020-05-22 21:47:07 +01:00
state Yield during large v2 state res. (#7735) 2020-06-24 18:48:18 +01:00
storage Remove debug logging 2020-06-12 11:13:30 +01:00
test_utils Fix bug in EventContext.deserialize. (#7393) 2020-05-05 14:17:27 +01:00
util Replace all remaining six usage with native Python 3 equivalents (#7704) 2020-06-16 08:51:47 -04:00
__init__.py Move patch_inline_callbacks into synapse/ 2019-10-10 10:53:06 +01:00
server.py Replace all remaining six usage with native Python 3 equivalents (#7704) 2020-06-16 08:51:47 -04:00
test_distributor.py Run black. 2018-08-10 23:54:09 +10:00
test_event_auth.py Implement room version 6 (MSC2240). (#7506) 2020-05-15 09:30:10 -04:00
test_federation.py Add option to enable encryption by default for new rooms (#7639) 2020-06-10 17:44:34 +01:00
test_mau.py Replace instances of reactor pumping with get_success. (#7619) 2020-06-03 16:39:30 +01:00
test_metrics.py Allow configuration of Synapse's cache without using synctl or environment variables (#6391) 2020-05-11 18:45:23 +01:00
test_phone_home.py Remove the psutil dependency (#6318) 2019-11-05 05:05:48 +11:00
test_preview.py Run Black. (#5482) 2019-06-20 19:32:02 +10:00
test_server.py Replace all remaining six usage with native Python 3 equivalents (#7704) 2020-06-16 08:51:47 -04:00
test_state.py Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) 2020-02-21 07:15:07 -05:00
test_terms_auth.py Replace all remaining six usage with native Python 3 equivalents (#7704) 2020-06-16 08:51:47 -04:00
test_test_utils.py Run black. 2018-08-10 23:54:09 +10:00
test_types.py Validate the alt_aliases property of canonical alias events (#6971) 2020-03-03 07:12:45 -05:00
test_visibility.py Port to use state storage 2019-10-30 14:46:54 +00:00
unittest.py Create a ListenerConfig object (#7681) 2020-06-16 12:44:07 +01:00
utils.py Replace all remaining six usage with native Python 3 equivalents (#7704) 2020-06-16 08:51:47 -04:00