From c7ee636762f03cfa3a1e16461e6746cdc15e578b Mon Sep 17 00:00:00 2001 From: David Robertson Date: Sat, 1 Oct 2022 21:49:12 +0100 Subject: use `_advanced` function where isolation_level and db_autocommit is in use --- synapse/module_api/__init__.py | 3 +-- synapse/storage/databases/main/end_to_end_keys.py | 2 +- synapse/storage/databases/main/event_federation.py | 2 +- synapse/storage/databases/main/lock.py | 2 +- synapse/storage/databases/main/purge_events.py | 2 +- synapse/storage/databases/main/receipts.py | 2 +- synapse/storage/databases/main/transactions.py | 2 +- synapse/storage/util/id_generators.py | 2 +- 8 files changed, 8 insertions(+), 9 deletions(-) diff --git a/synapse/module_api/__init__.py b/synapse/module_api/__init__.py index b7b2d3b8c5..5d5a841b69 100644 --- a/synapse/module_api/__init__.py +++ b/synapse/module_api/__init__.py @@ -831,9 +831,8 @@ class ModuleApi: Returns: Deferred[object]: result of func """ - # type-ignore: See https://github.com/python/mypy/issues/8862 return defer.ensureDeferred( - self._store.db_pool.runInteraction(desc, func, *args, **kwargs) # type: ignore[arg-type] + self._store.db_pool.runInteraction(desc, func, *args, **kwargs) ) def register_cached_function(self, cached_func: CachedFunction) -> None: diff --git a/synapse/storage/databases/main/end_to_end_keys.py b/synapse/storage/databases/main/end_to_end_keys.py index 8e9e1b0b4b..91829ee1e4 100644 --- a/synapse/storage/databases/main/end_to_end_keys.py +++ b/synapse/storage/databases/main/end_to_end_keys.py @@ -1082,7 +1082,7 @@ class EndToEndKeyWorkerStore(EndToEndKeyBackgroundStore, CacheInvalidationWorker _claim_e2e_one_time_key = _claim_e2e_one_time_key_simple db_autocommit = False - claim_row = await self.db_pool.runInteraction( + claim_row = await self.db_pool.runInteraction_advanced( "claim_e2e_one_time_keys", _claim_e2e_one_time_key, user_id, diff --git a/synapse/storage/databases/main/event_federation.py b/synapse/storage/databases/main/event_federation.py index 6b9a629edd..f9ead4439a 100644 --- a/synapse/storage/databases/main/event_federation.py +++ b/synapse/storage/databases/main/event_federation.py @@ -1689,7 +1689,7 @@ class EventFederationWorkerStore(SignatureWorkerStore, EventsWorkerStore, SQLBas return row[0] - return await self.db_pool.runInteraction( + return await self.db_pool.runInteraction_advanced( "remove_received_event_from_staging", _remove_received_event_from_staging_txn, db_autocommit=True, diff --git a/synapse/storage/databases/main/lock.py b/synapse/storage/databases/main/lock.py index 7270ef09da..c65bac3efb 100644 --- a/synapse/storage/databases/main/lock.py +++ b/synapse/storage/databases/main/lock.py @@ -162,7 +162,7 @@ class LockStore(SQLBaseStore): # We only acquired the lock if we inserted or updated the table. return bool(txn.rowcount) - did_lock = await self.db_pool.runInteraction( + did_lock = await self.db_pool.runInteraction_advanced( "try_acquire_lock", _try_acquire_lock_txn, # We can autocommit here as we're executing a single query, this diff --git a/synapse/storage/databases/main/purge_events.py b/synapse/storage/databases/main/purge_events.py index 9213ce0b5a..96f95595ad 100644 --- a/synapse/storage/databases/main/purge_events.py +++ b/synapse/storage/databases/main/purge_events.py @@ -325,7 +325,7 @@ class PurgeEventsStore(StateGroupWorkerStore, CacheInvalidationWorkerStore): # We then run the same purge a second time without this isolation level to # purge any of those rows which were added during the first. - state_groups_to_delete = await self.db_pool.runInteraction( + state_groups_to_delete = await self.db_pool.runInteraction_advanced( "purge_room", self._purge_room_txn, room_id=room_id, diff --git a/synapse/storage/databases/main/receipts.py b/synapse/storage/databases/main/receipts.py index 246f78ac1f..55179ef3bb 100644 --- a/synapse/storage/databases/main/receipts.py +++ b/synapse/storage/databases/main/receipts.py @@ -777,7 +777,7 @@ class ReceiptsWorkerStore(SQLBaseStore): ) async with self._receipts_id_gen.get_next() as stream_id: # type: ignore[attr-defined] - event_ts = await self.db_pool.runInteraction( + event_ts = await self.db_pool.runInteraction_advanced( "insert_linearized_receipt", self._insert_linearized_receipt_txn, room_id, diff --git a/synapse/storage/databases/main/transactions.py b/synapse/storage/databases/main/transactions.py index f8c6877ee8..098ec5a1e3 100644 --- a/synapse/storage/databases/main/transactions.py +++ b/synapse/storage/databases/main/transactions.py @@ -221,7 +221,7 @@ class TransactionWorkerStore(CacheInvalidationWorkerStore): retry_interval: how long until next retry in ms """ - await self.db_pool.runInteraction( + await self.db_pool.runInteraction_advanced( "set_destination_retry_timings", self._set_destination_retry_timings_native, destination, diff --git a/synapse/storage/util/id_generators.py b/synapse/storage/util/id_generators.py index 2dfe4c0b66..677c0f8a1f 100644 --- a/synapse/storage/util/id_generators.py +++ b/synapse/storage/util/id_generators.py @@ -818,7 +818,7 @@ class _MultiWriterCtxManager: # for. If we don't do this then we'll often hit serialization errors due # to the fact we default to REPEATABLE READ isolation levels. if self.id_gen._writers: - await self.id_gen._db.runInteraction( + await self.id_gen._db.runInteraction_advanced( "MultiWriterIdGenerator._update_table", self.id_gen._update_stream_positions_table_txn, db_autocommit=True, -- cgit 1.5.1