diff options
author | Nick Mills-Barrett <nick@beeper.com> | 2024-04-12 09:28:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-12 09:28:44 +0100 |
commit | fe4719a2683dcd0d9c9deb606a1895d222c1b001 (patch) | |
tree | b3b6373ecf6efa33db213ac522a774989c1c0e0c /changelog.d | |
parent | Fix mypy on latest Twisted release (#17036) (diff) | |
download | synapse-fe4719a2683dcd0d9c9deb606a1895d222c1b001.tar.xz |
Use receipts `event_stream_ordering` instead of joins (#17032)
Resurrecting https://github.com/matrix-org/synapse/pull/13918. This should reduce IOPs incurred by joining to the events table to lookup stream ordering, which happens in many receipt handling code paths. Like the previous PR I believe sufficient time has passed between the original migration in DB schema 72 and now to merge this as-is. It's highly unlikely that both the migration is still ongoing AND (active) users still have any receipts prior to that date. In the unlikely event there is a receipt without a populated `event_stream_ordering` synapse will behave just as it does now when receipts exist for events that don't (yet): for push action calculation the receipts are just ignored. I've removed the validation on event IDs as this is already covered here: https://github.com/element-hq/synapse/blob/59ceabcb9798793cd4312fdbcced4e612aeda84d/synapse/handlers/receipts.py#L189-L192
Diffstat (limited to 'changelog.d')
-rw-r--r-- | changelog.d/17032.misc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.d/17032.misc b/changelog.d/17032.misc new file mode 100644 index 0000000000..b03f6f42e5 --- /dev/null +++ b/changelog.d/17032.misc @@ -0,0 +1 @@ +Use new receipts column to optimise receipt and push action SQL queries. Contributed by Nick @ Beeper (@fizzadar). |