summary refs log tree commit diff
path: root/changelog.d
diff options
context:
space:
mode:
authorSean Quah <8349537+squahtx@users.noreply.github.com>2021-11-26 13:47:24 +0000
committerGitHub <noreply@github.com>2021-11-26 13:47:24 +0000
commitc675a18071ea86cb20bdc426a4c4c34bc629b6af (patch)
tree75d44fdf35df9a9e975ca2ba5de8d3f2ee80e373 /changelog.d
parentAnnotate string constants in `synapse.api.constants` with `Final` (#11356) (diff)
downloadsynapse-c675a18071ea86cb20bdc426a4c4c34bc629b6af.tar.xz
Track ongoing event fetches correctly (again) (#11376)
The previous fix for the ongoing event fetches counter
(8eec25a1d9d656905db18a2c62a5552e63db2667) was both insufficient and
incorrect.

When the database is unreachable, `_do_fetch` never gets run and so
`_event_fetch_ongoing` is never decremented.

The previous fix also moved the `_event_fetch_ongoing` decrement outside
of the `_event_fetch_lock` which allowed race conditions to corrupt the
counter.
Diffstat (limited to 'changelog.d')
-rw-r--r--changelog.d/11376.bugfix1
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.d/11376.bugfix b/changelog.d/11376.bugfix
new file mode 100644
index 0000000000..639e48b59b
--- /dev/null
+++ b/changelog.d/11376.bugfix
@@ -0,0 +1 @@
+Fix a long-standing bug where all requests that read events from the database could get stuck as a result of losing the database connection, for real this time. Also fix a race condition introduced in the previous insufficient fix in 1.47.0.