diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2022-08-11 11:42:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-11 10:42:24 +0000 |
commit | 507c1cb3309e989d84ec3ff9557a96ae1fc7f369 (patch) | |
tree | d0ff6f14715ae9df656fbaff9df2d5974770b67b /synapse/storage/databases/main/state.py | |
parent | Use literals in place of `HTTPStatus` constants in tests (#13488) (diff) | |
download | synapse-507c1cb3309e989d84ec3ff9557a96ae1fc7f369.tar.xz |
Update the rejected state of events during resync (#13459)
Events can be un-rejected or newly-rejected during resync, so ensure we update the database and caches when that happens.
Diffstat (limited to 'synapse/storage/databases/main/state.py')
-rw-r--r-- | synapse/storage/databases/main/state.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/synapse/storage/databases/main/state.py b/synapse/storage/databases/main/state.py index f70705a0af..0b10af0e58 100644 --- a/synapse/storage/databases/main/state.py +++ b/synapse/storage/databases/main/state.py @@ -430,6 +430,11 @@ class StateGroupWorkerStore(EventsWorkerStore, SQLBaseStore): updatevalues={"state_group": state_group}, ) + # the event may now be rejected where it was not before, or vice versa, + # in which case we need to update the rejected flags. + if bool(context.rejected) != (event.rejected_reason is not None): + self.mark_event_rejected_txn(txn, event.event_id, context.rejected) + self.db_pool.simple_delete_one_txn( txn, table="partial_state_events", |