2020#
2121
2222import logging
23- from typing import Any , List , Set , Tuple , cast
23+ from typing import Any , Set , Tuple , cast
2424
2525from synapse .api .errors import SynapseError
2626from synapse .storage .database import LoggingTransaction
@@ -332,7 +332,7 @@ def _purge_history_txn(
332332
333333 return referenced_state_groups
334334
335- async def purge_room (self , room_id : str ) -> List [ int ] :
335+ async def purge_room (self , room_id : str ) -> None :
336336 """Deletes all record of a room
337337
338338 Args:
@@ -348,26 +348,23 @@ async def purge_room(self, room_id: str) -> List[int]:
348348 # purge any of those rows which were added during the first.
349349
350350 logger .info ("[purge] Starting initial main purge of [1/2]" )
351- state_groups_to_delete = await self .db_pool .runInteraction (
351+ await self .db_pool .runInteraction (
352352 "purge_room" ,
353353 self ._purge_room_txn ,
354354 room_id = room_id ,
355355 isolation_level = IsolationLevel .READ_COMMITTED ,
356356 )
357357
358358 logger .info ("[purge] Starting secondary main purge of [2/2]" )
359- state_groups_to_delete .extend (
360- await self .db_pool .runInteraction (
361- "purge_room" ,
362- self ._purge_room_txn ,
363- room_id = room_id ,
364- ),
359+ await self .db_pool .runInteraction (
360+ "purge_room" ,
361+ self ._purge_room_txn ,
362+ room_id = room_id ,
365363 )
366- logger .info ("[purge] Done with main purge" )
367364
368- return state_groups_to_delete
365+ logger . info ( "[purge] Done with main purge" )
369366
370- def _purge_room_txn (self , txn : LoggingTransaction , room_id : str ) -> List [ int ] :
367+ def _purge_room_txn (self , txn : LoggingTransaction , room_id : str ) -> None :
371368 # This collides with event persistence so we cannot write new events and metadata into
372369 # a room while deleting it or this transaction will fail.
373370 if isinstance (self .database_engine , PostgresEngine ):
@@ -381,19 +378,6 @@ def _purge_room_txn(self, txn: LoggingTransaction, room_id: str) -> List[int]:
381378 # take a while!
382379 txn .execute ("SET LOCAL statement_timeout = 0" )
383380
384- # First, fetch all the state groups that should be deleted, before
385- # we delete that information.
386- txn .execute (
387- """
388- SELECT DISTINCT state_group FROM events
389- INNER JOIN event_to_state_groups USING(event_id)
390- WHERE events.room_id = ?
391- """ ,
392- (room_id ,),
393- )
394-
395- state_groups = [row [0 ] for row in txn ]
396-
397381 # Get all the auth chains that are referenced by events that are to be
398382 # deleted.
399383 txn .execute (
@@ -513,5 +497,3 @@ def _purge_room_txn(self, txn: LoggingTransaction, room_id: str) -> List[int]:
513497 # periodically anyway (https://github.com/matrix-org/synapse/issues/5888)
514498
515499 self ._invalidate_caches_for_room_and_stream (txn , room_id )
516-
517- return state_groups
0 commit comments