summary refs log tree commit diff
path: root/synapse/storage/databases/main/state.py
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2022-08-11 11:42:24 +0100
committerGitHub <noreply@github.com>2022-08-11 10:42:24 +0000
commit507c1cb3309e989d84ec3ff9557a96ae1fc7f369 (patch)
treed0ff6f14715ae9df656fbaff9df2d5974770b67b /synapse/storage/databases/main/state.py
parentUse literals in place of `HTTPStatus` constants in tests (#13488) (diff)
downloadsynapse-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.py5
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",