diff options
author | Erik Johnston <erik@matrix.org> | 2020-10-02 15:09:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-02 15:09:31 +0100 |
commit | ec10bdd32bb52af73789f5f60b39135578a739b1 (patch) | |
tree | 48876636f328d91a70d8473d9c2ec38ed52af36c /synapse | |
parent | Allow background tasks to be run on a separate worker. (#8369) (diff) | |
download | synapse-ec10bdd32bb52af73789f5f60b39135578a739b1.tar.xz |
Speed up unit tests when using PostgreSQL (#8450)
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/storage/databases/main/events_worker.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/synapse/storage/databases/main/events_worker.py b/synapse/storage/databases/main/events_worker.py index f95679ebc4..723ced4ff0 100644 --- a/synapse/storage/databases/main/events_worker.py +++ b/synapse/storage/databases/main/events_worker.py @@ -74,6 +74,13 @@ class EventRedactBehaviour(Names): class EventsWorkerStore(SQLBaseStore): + # Whether to use dedicated DB threads for event fetching. This is only used + # if there are multiple DB threads available. When used will lock the DB + # thread for periods of time (so unit tests want to disable this when they + # run DB transactions on the main thread). See EVENT_QUEUE_* for more + # options controlling this. + USE_DEDICATED_DB_THREADS_FOR_EVENT_FETCHING = True + def __init__(self, database: DatabasePool, db_conn, hs): super().__init__(database, db_conn, hs) @@ -522,7 +529,11 @@ class EventsWorkerStore(SQLBaseStore): if not event_list: single_threaded = self.database_engine.single_threaded - if single_threaded or i > EVENT_QUEUE_ITERATIONS: + if ( + not self.USE_DEDICATED_DB_THREADS_FOR_EVENT_FETCHING + or single_threaded + or i > EVENT_QUEUE_ITERATIONS + ): self._event_fetch_ongoing -= 1 return else: |