summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2018-06-01 11:51:11 +0100
committerErik Johnston <erik@matrix.org>2018-06-01 11:51:11 +0100
commit9e7cf48461ac773cb6661465ab9cf0cf7a190c8d (patch)
tree5a91a7ce58aeb058e2c426d14871431e8ab3740c
parentDon't drop topo ordering when there is no chunk_id (diff)
downloadsynapse-9e7cf48461ac773cb6661465ab9cf0cf7a190c8d.tar.xz
Reuse stream_ordering attribute instead of order
The internal metadata "order" attribute was only used in one place,
which was equivalent to using the stream ordering anyway.
-rw-r--r--synapse/handlers/room.py3
-rw-r--r--synapse/storage/stream.py11
2 files changed, 5 insertions, 9 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index d627b6db13..870dbd3799 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -514,7 +514,8 @@ class RoomEventSource(object):
             events = list(room_events)
             events.extend(e for evs, _ in room_to_events.values() for e in evs)
 
-            events.sort(key=lambda e: e.internal_metadata.order)
+            # Order by the stream ordering of the events.
+            events.sort(key=lambda e: e.internal_metadata.stream_ordering)
 
             if limit:
                 events[:] = events[:limit]
diff --git a/synapse/storage/stream.py b/synapse/storage/stream.py
index baf3715c28..d46672aa4a 100644
--- a/synapse/storage/stream.py
+++ b/synapse/storage/stream.py
@@ -543,20 +543,15 @@ class StreamWorkerStore(EventsWorkerStore, SQLBaseStore):
             stream = row.stream_ordering
 
             internal = event.internal_metadata
+
+            internal.stream_ordering = stream
+
             if topo_order:
                 internal.before = str(RoomStreamToken(chunk, topo, stream - 1))
                 internal.after = str(RoomStreamToken(chunk, topo, stream))
-                internal.order = (
-                    int(chunk) if chunk else 0,
-                    int(topo) if topo else 0,
-                    int(stream),
-                )
             else:
                 internal.before = str(RoomStreamToken(None, None, stream - 1))
                 internal.after = str(RoomStreamToken(None, None, stream))
-                internal.order = (
-                    0, 0, int(stream),
-                )
 
     @defer.inlineCallbacks
     def get_events_around(self, room_id, event_id, before_limit, after_limit):