Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit fa3cb7f

Browse files
committed
Convert runInteraction to async.
1 parent 37db625 commit fa3cb7f

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

changelog.d/8156.misc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Convert various parts of the codebase to async/await.

synapse/storage/database.py

+12-14
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
from typing_extensions import Literal
3636

3737
from twisted.enterprise import adbapi
38-
from twisted.internet import defer
3938

4039
from synapse.api.errors import StoreError
4140
from synapse.config.database import DatabaseConnectionConfig
@@ -507,8 +506,9 @@ def new_transaction(
507506
self._txn_perf_counters.update(desc, duration)
508507
sql_txn_timer.labels(desc).observe(duration)
509508

510-
@defer.inlineCallbacks
511-
def runInteraction(self, desc: str, func: Callable, *args: Any, **kwargs: Any):
509+
async def runInteraction(
510+
self, desc: str, func: Callable, *args: Any, **kwargs: Any
511+
) -> Any:
512512
"""Starts a transaction on the database and runs a given function
513513
514514
Arguments:
@@ -521,7 +521,7 @@ def runInteraction(self, desc: str, func: Callable, *args: Any, **kwargs: Any):
521521
kwargs: named args to pass to `func`
522522
523523
Returns:
524-
Deferred: The result of func
524+
The result of func
525525
"""
526526
after_callbacks = [] # type: List[_CallbackListEntry]
527527
exception_callbacks = [] # type: List[_CallbackListEntry]
@@ -530,16 +530,14 @@ def runInteraction(self, desc: str, func: Callable, *args: Any, **kwargs: Any):
530530
logger.warning("Starting db txn '%s' from sentinel context", desc)
531531

532532
try:
533-
result = yield defer.ensureDeferred(
534-
self.runWithConnection(
535-
self.new_transaction,
536-
desc,
537-
after_callbacks,
538-
exception_callbacks,
539-
func,
540-
*args,
541-
**kwargs
542-
)
533+
result = await self.runWithConnection(
534+
self.new_transaction,
535+
desc,
536+
after_callbacks,
537+
exception_callbacks,
538+
func,
539+
*args,
540+
**kwargs
543541
)
544542

545543
for after_callback, after_args, after_kwargs in after_callbacks:

0 commit comments

Comments
 (0)