summary refs log tree commit diff
path: root/synapse/federation
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/federation')
-rw-r--r--synapse/federation/replication.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/synapse/federation/replication.py b/synapse/federation/replication.py
index b11df9e5c6..3af24ee46d 100644
--- a/synapse/federation/replication.py
+++ b/synapse/federation/replication.py
@@ -558,7 +558,13 @@ class ReplicationLayer(object):
             origin, pdu.event_id, do_auth=False
         )
 
-        if existing and (not existing.outlier or pdu.outlier):
+        already_seen = (
+            existing and (
+                not existing.internal_metadata.outlier
+                or pdu.internal_metadata.outlier
+            )
+        )
+        if already_seen:
             logger.debug("Already seen pdu %s", pdu.event_id)
             defer.returnValue({})
             return
@@ -596,7 +602,7 @@ class ReplicationLayer(object):
         #             )
 
         # Get missing pdus if necessary.
-        if not pdu.outlier:
+        if not pdu.internal_metadata.outlier:
             # We only backfill backwards to the min depth.
             min_depth = yield self.handler.get_min_depth_for_context(
                 pdu.room_id
@@ -663,7 +669,7 @@ class ReplicationLayer(object):
             pdu_json
         )
 
-        builder.internal_metadata = outlier
+        builder.internal_metadata.outlier = outlier
 
         return builder.build()