diff options
author | David Robertson <davidr@element.io> | 2023-02-14 23:42:29 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-14 23:42:29 +0000 |
commit | 06ba71083eefbe1fd9a8eeed10e541dd7b52796f (patch) | |
tree | d5e25b890fa51744a5a234f512c2108638f369b1 /changelog.d | |
parent | Add final type hint to tests.unittest. (#15072) (diff) | |
download | synapse-06ba71083eefbe1fd9a8eeed10e541dd7b52796f.tar.xz |
Fix order of partial state tables when purging (#15068)
* Fix order of partial state tables when purging `partial_state_rooms` has an FK on `events` pointing to the join event we get from `/send_join`, so we must delete from that table before deleting from `events`. **NB:** It would be nice to cancel any resync processes for the room being purged. We do not do this at present. To do so reliably we'd need an internal HTTP "replication" endpoint, because the worker doing the resync process may be different to that handling the purge request. The first time the resync process tries to write data after the deletion it will fail because we have deleted necessary data e.g. auth events. AFAICS it will not retry the resync, so the only downside to not cancelling the resync is a scary-looking traceback. (This is presumably extremely race-sensitive.) * Changelog * admist(?) -> between * Warn about a race * Fix typo, thanks Sean Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com> --------- Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
Diffstat (limited to 'changelog.d')
-rw-r--r-- | changelog.d/15068.bugfix | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.d/15068.bugfix b/changelog.d/15068.bugfix new file mode 100644 index 0000000000..f09ffa2877 --- /dev/null +++ b/changelog.d/15068.bugfix @@ -0,0 +1 @@ +Fix a bug introduced in Synapse 1.76.0 where partially-joined rooms could not be deleted using the [purge room API](https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#delete-room-api). |