forked-synapse/synapse
Jonathan de Jong f5c93fc993
Fix #8518 (sync requests being cached wrongly on timeout) (#9358)
This fixes #8518 by adding a conditional check on `SyncResult` in a function when `prev_stream_token == current_stream_token`, as a sanity check. In `CachedResponse.set.<remove>()`, the result is immediately popped from the cache if the conditional function returns "false".

This prevents the caching of a timed-out `SyncResult` (that has `next_key` as the stream key that produced that `SyncResult`). The cache is prevented from returning a `SyncResult` that makes the client request the same stream key over and over again, effectively making it stuck in a loop of requesting and getting a response immediately for as long as the cache keeps those values.

Signed-off-by: Jonathan de Jong <jonathan@automatia.nl>
2021-02-24 13:57:00 +00:00
..
_scripts Strip trailing / from server_url in register_new_matrix_user (#8823) 2020-11-26 10:57:26 +00:00
api Ratelimit cross-user key sharing requests. (#8957) 2021-02-19 13:20:34 -05:00
app Clean up ShardedWorkerHandlingConfig (#9466) 2021-02-24 13:23:18 +00:00
appservice Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
config Clean up ShardedWorkerHandlingConfig (#9466) 2021-02-24 13:23:18 +00:00
crypto Cache config options in SSL verification (#9255) 2021-01-28 17:38:59 +00:00
events Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
federation Ratelimit cross-user key sharing requests. (#8957) 2021-02-19 13:20:34 -05:00
groups Add type hints to groups code. (#9393) 2021-02-17 08:41:47 -05:00
handlers Fix #8518 (sync requests being cached wrongly on timeout) (#9358) 2021-02-24 13:57:00 +00:00
http Reduce the memory usage of previewing media files. (#9421) 2021-02-18 09:01:29 -05:00
logging Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
metrics Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
module_api Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
push Clean up ShardedWorkerHandlingConfig (#9466) 2021-02-24 13:23:18 +00:00
replication Fix deleting pushers when using sharded pushers. (#9465) 2021-02-22 21:14:42 +00:00
res/templates Support not providing an IdP icon when choosing a username. (#9440) 2021-02-19 07:48:46 -05:00
rest Add an order_by field to list users' media admin API. (#8978) 2021-02-22 14:38:51 -05:00
server_notices Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
spam_checker_api Combine SpamCheckerApi with the more generic ModuleApi. (#8464) 2020-10-07 12:03:26 +01:00
state Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
static Add initial support for a "pick your IdP" page (#9017) 2021-01-05 11:25:28 +00:00
storage Refactor to ensure we call check_consistency (#9470) 2021-02-24 10:13:53 +00:00
streams Make token serializing/deserializing async (#8427) 2020-09-30 20:29:19 +01:00
util Fix #8518 (sync requests being cached wrongly on timeout) (#9358) 2021-02-24 13:57:00 +00:00
__init__.py 1.28.0rc1 2021-02-18 12:32:49 -05:00
event_auth.py Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
notifier.py Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
python_dependencies.py Add a comment about systemd-python. (#9464) 2021-02-23 13:42:36 +00:00
secrets.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
server.py Clean up ShardedWorkerHandlingConfig (#9466) 2021-02-24 13:23:18 +00:00
types.py Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
visibility.py Merge pull request #9150 from Yoric/develop-context 2021-02-08 15:53:44 +01:00