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,
|