Browse Source

Reduce to-device queries for /sync. (#12163)

Erik Johnston 2 years ago
parent
commit
0752ab7a36
2 changed files with 4 additions and 0 deletions
  1. 1 0
      changelog.d/12163.misc
  2. 3 0
      synapse/storage/databases/main/deviceinbox.py

+ 1 - 0
changelog.d/12163.misc

@@ -0,0 +1 @@
+Reduce number of DB queries made during processing of `/sync`.

+ 3 - 0
synapse/storage/databases/main/deviceinbox.py

@@ -298,6 +298,9 @@ class DeviceInboxWorkerStore(SQLBaseStore):
                 # This user has new messages sent to them. Query messages for them
                 user_ids_to_query.add(user_id)
 
+        if not user_ids_to_query:
+            return {}, to_stream_id
+
         def get_device_messages_txn(txn: LoggingTransaction):
             # Build a query to select messages from any of the given devices that
             # are between the given stream id bounds.