diff options
author | Sean Quah <8349537+squahtx@users.noreply.github.com> | 2021-11-26 13:47:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-26 13:47:24 +0000 |
commit | c675a18071ea86cb20bdc426a4c4c34bc629b6af (patch) | |
tree | 75d44fdf35df9a9e975ca2ba5de8d3f2ee80e373 /changelog.d | |
parent | Annotate string constants in `synapse.api.constants` with `Final` (#11356) (diff) | |
download | synapse-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.bugfix | 1 |
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. |