summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--synapse/storage/receipts.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/synapse/storage/receipts.py b/synapse/storage/receipts.py
index 401400d927..33fc2b9b31 100644
--- a/synapse/storage/receipts.py
+++ b/synapse/storage/receipts.py
@@ -140,7 +140,9 @@ class ReceiptsWorkerStore(SQLBaseStore):
         """
         room_ids = set(room_ids)
 
-        if from_key:
+        if from_key is not None:
+            # Only ask the database about rooms where there have been new
+            # receipts added since `from_key`
             room_ids = yield self._receipts_stream_cache.get_entities_changed(
                 room_ids, from_key
             )
@@ -163,7 +165,9 @@ class ReceiptsWorkerStore(SQLBaseStore):
         Returns:
             list: A list of receipts.
         """
-        if from_key:
+        if from_key is not None:
+            # Check the cache first to see if any new receipts have been added
+            # since`from_key`. If not we can no-op.
             if not self._receipts_stream_cache.has_entity_changed(room_id, from_key):
                 defer.succeed([])