diff options
author | Erik Johnston <erik@matrix.org> | 2021-07-06 13:02:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-06 13:02:37 +0100 |
commit | c65067d67307de7688fa39246426370421e56452 (patch) | |
tree | 544829330f4c90de78a96d0c3195afdb817bc24b /synapse/storage/databases | |
parent | Add upgrade notes about disk space for events migration (#10314) (diff) | |
download | synapse-c65067d67307de7688fa39246426370421e56452.tar.xz |
Handle old staged inbound events (#10303)
We might have events in the staging area if the service was restarted while there were unhandled events in the staging area. Fixes #10295
Diffstat (limited to 'synapse/storage/databases')
-rw-r--r-- | synapse/storage/databases/main/event_federation.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/synapse/storage/databases/main/event_federation.py b/synapse/storage/databases/main/event_federation.py index 08d75b0d41..c4474df975 100644 --- a/synapse/storage/databases/main/event_federation.py +++ b/synapse/storage/databases/main/event_federation.py @@ -1207,6 +1207,15 @@ class EventFederationWorkerStore(EventsWorkerStore, SignatureWorkerStore, SQLBas return origin, event + async def get_all_rooms_with_staged_incoming_events(self) -> List[str]: + """Get the room IDs of all events currently staged.""" + return await self.db_pool.simple_select_onecol( + table="federation_inbound_events_staging", + keyvalues={}, + retcol="DISTINCT room_id", + desc="get_all_rooms_with_staged_incoming_events", + ) + @wrap_as_background_process("_get_stats_for_federation_staging") async def _get_stats_for_federation_staging(self): """Update the prometheus metrics for the inbound federation staging area.""" |