summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-06-27 14:52:08 +0100
committerErik Johnston <erik@matrix.org>2016-06-27 15:10:39 +0100
commit4b7abedfd984b099f1a00452246aa7816dede7dc (patch)
tree288406b41d18aaffffae9bca974bfef04a047c8c
parentUse cbor (diff)
downloadsynapse-4b7abedfd984b099f1a00452246aa7816dede7dc.tar.xz
Comments
-rw-r--r--synapse/handlers/sync.py15
-rw-r--r--synapse/rest/client/v2_alpha/sync.py5
-rw-r--r--synapse/storage/stream.py10
3 files changed, 18 insertions, 12 deletions
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py
index 3c6f2fe989..0c88a10ba6 100644
--- a/synapse/handlers/sync.py
+++ b/synapse/handlers/sync.py
@@ -47,6 +47,7 @@ class SyncPaginationConfig(collections.namedtuple("SyncPaginationConfig", [
     "limit",
     "tags",
 ])):
+    "Initial pagination configuration from initial sync."
     def __init__(self, order, limit, tags):
         if order not in SYNC_PAGINATION_VALID_ORDERS:
             raise SynapseError(400, "Invalid 'order'")
@@ -838,6 +839,8 @@ class SyncHandler(object):
                 for r in room_entries:
                     if r.room_id in missing_state:
                         if include_all_tags:
+                            # If we're always including tagged rooms, then only
+                            # resync rooms which are newly tagged.
                             change = tag_changes.get(r.room_id)
                             if change == TAG_CHANGE_NEWLY_TAGGED:
                                 r.always_include = True
@@ -908,13 +911,11 @@ class SyncHandler(object):
                 _, bottom_ts = cutoff_list[-1]
                 new_pagination_value = bottom_ts
 
-                logger.info("old pagination value: %r", old_pagination_value)
-                logger.info("New pagination value: %r", new_pagination_value)
-
-                # Are there any rooms that fall into the range between the
-                # old and new value?
+                # We're limited if there are any rooms that are after cutoff
+                # in the list, but still have an origin server ts from after
+                # the pagination value from the since token.
                 limited = any(
-                    old_pagination_value < r[1] < new_pagination_value
+                    old_pagination_value < r[1]
                     for r in sorted_list[pagination_limit + extra_limit:]
                 )
 
@@ -924,7 +925,7 @@ class SyncHandler(object):
                     tags=pagination_config.tags,
                 )
 
-                to_sync_map = {key: value for key, value in cutoff_list}
+                to_sync_map = dict(cutoff_list)
             else:
                 to_sync_map = {}
 
diff --git a/synapse/rest/client/v2_alpha/sync.py b/synapse/rest/client/v2_alpha/sync.py
index e20a9ef317..693b1bad07 100644
--- a/synapse/rest/client/v2_alpha/sync.py
+++ b/synapse/rest/client/v2_alpha/sync.py
@@ -98,11 +98,8 @@ class SyncRestServlet(RestServlet):
         body = parse_json_object_from_request(request)
 
         timeout = body.get("timeout", 0)
-
         since = body.get("since", None)
 
-        logger.info("Since: %r", since)
-
         extras = body.get("extras", {})
         extras = SyncExtras(
             paginate=extras.get("paginate", {}),
@@ -177,8 +174,6 @@ class SyncRestServlet(RestServlet):
             extras=extras,
         )
 
-        logger.info("next_batch: %r", sync_result[1]["next_batch"])
-
         defer.returnValue(sync_result)
 
     @defer.inlineCallbacks
diff --git a/synapse/storage/stream.py b/synapse/storage/stream.py
index ada20706dc..434adf9a17 100644
--- a/synapse/storage/stream.py
+++ b/synapse/storage/stream.py
@@ -526,6 +526,16 @@ class StreamStore(SQLBaseStore):
             )
 
     def get_last_event_id_ts_for_room(self, room_id, token):
+        """Get the latest event_id and origin_server_ts for a room_id before a
+        given token.
+
+        Args:
+            room_id (str)
+            token (str)
+
+        Returns:
+            Dictionary with ``event_id`` and ``origin_server_ts`` keys.
+        """
         stream_ordering = RoomStreamToken.parse_stream_token(token).stream
 
         sql = (