summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--synapse/handlers/sync.py5
-rw-r--r--synapse/util/metrics.py9
2 files changed, 9 insertions, 5 deletions
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py
index 3e5f27046e..446f8bbe93 100644
--- a/synapse/handlers/sync.py
+++ b/synapse/handlers/sync.py
@@ -629,7 +629,10 @@ class SyncHandler(BaseHandler):
             room_key = now_token.room_key
             end_key = room_key
 
-            limited = recents is None or newly_joined_room or timeline_limit < len(recents)
+            if recents is None or newly_joined_room or timeline_limit < len(recents):
+                limited = True
+            else:
+                limited = False
 
             if recents is not None:
                 recents = sync_config.filter_collection.filter_room_timeline(recents)
diff --git a/synapse/util/metrics.py b/synapse/util/metrics.py
index 57ca3b4751..c51b641125 100644
--- a/synapse/util/metrics.py
+++ b/synapse/util/metrics.py
@@ -62,12 +62,13 @@ class Measure(object):
     def __enter__(self):
         self.start = self.clock.time_msec()
         self.start_context = LoggingContext.current_context()
-        self.ru_utime, self.ru_stime = self.start_context.get_resource_usage()
-        self.db_txn_count = self.start_context.db_txn_count
-        self.db_txn_duration = self.start_context.db_txn_duration
+        if self.start_context:
+            self.ru_utime, self.ru_stime = self.start_context.get_resource_usage()
+            self.db_txn_count = self.start_context.db_txn_count
+            self.db_txn_duration = self.start_context.db_txn_duration
 
     def __exit__(self, exc_type, exc_val, exc_tb):
-        if exc_type is not None:
+        if exc_type is not None or not self.start_context:
             return
 
         duration = self.clock.time_msec() - self.start