summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--synapse/replication/resource.py16
-rw-r--r--synapse/storage/events.py11
2 files changed, 15 insertions, 12 deletions
diff --git a/synapse/replication/resource.py b/synapse/replication/resource.py
index 7afa1242d5..69afcb03d2 100644
--- a/synapse/replication/resource.py
+++ b/synapse/replication/resource.py
@@ -204,31 +204,27 @@ class ReplicationResource(Resource):
                 request_events = current_token.events
             if request_backfill is None:
                 request_backfill = current_token.backfill
-            (
-                events_rows, backfill_rows,
-                forward_ex_outliers, backward_ex_outliers,
-                state_resets
-            ) = yield self.store.get_all_new_events(
+            res = yield self.store.get_all_new_events(
                 request_backfill, request_events,
                 current_token.backfill, current_token.events,
                 limit
             )
-            writer.write_header_and_rows("events", events_rows, (
+            writer.write_header_and_rows("events", res.new_forward_events, (
                 "position", "internal", "json", "state_group"
             ))
-            writer.write_header_and_rows("backfill", backfill_rows, (
+            writer.write_header_and_rows("backfill", res.new_backfill_events, (
                 "position", "internal", "json", "state_group"
             ))
             writer.write_header_and_rows(
-                "forward_ex_outliers", forward_ex_outliers,
+                "forward_ex_outliers", res.forward_ex_outliers,
                 ("position", "event_id", "state_group")
             )
             writer.write_header_and_rows(
-                "backward_ex_outliers", backward_ex_outliers,
+                "backward_ex_outliers", res.backward_ex_outliers,
                 ("position", "event_id", "state_group")
             )
             writer.write_header_and_rows(
-                "state_resets", state_resets, ("position",)
+                "state_resets", res.state_resets, ("position",)
             )
 
     @defer.inlineCallbacks
diff --git a/synapse/storage/events.py b/synapse/storage/events.py
index 9725a3fed7..b7ad045e41 100644
--- a/synapse/storage/events.py
+++ b/synapse/storage/events.py
@@ -25,7 +25,7 @@ from synapse.api.constants import EventTypes
 
 from canonicaljson import encode_canonical_json
 from contextlib import contextmanager
-
+from collections import namedtuple
 
 import logging
 import math
@@ -1193,9 +1193,16 @@ class EventsStore(SQLBaseStore):
                 new_backfill_events = []
                 backward_ex_outliers = []
 
-            return (
+            return AllNewEventsResult(
                 new_forward_events, new_backfill_events,
                 forward_ex_outliers, backward_ex_outliers,
                 state_resets,
             )
         return self.runInteraction("get_all_new_events", get_all_new_events_txn)
+
+
+AllNewEventsResult = namedtuple("AllNewEventsResult", [
+    "new_forward_events", "new_backfill_events",
+    "forward_ex_outliers", "backward_ex_outliers",
+    "state_resets"
+])