summary refs log tree commit diff
path: root/synapse/handlers/message.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2018-05-21 17:43:03 +0100
committerErik Johnston <erik@matrix.org>2018-06-01 16:01:26 +0100
commit4ebf0036442957c323b230988c76ae57562f25dd (patch)
tree8bdbdd920908a767e2c0fd9f39fc963e993bb294 /synapse/handlers/message.py
parentMerge pull request #3315 from matrix-org/erikj/chunk_pag_1 (diff)
downloadsynapse-erikj/chunk_pag_2.tar.xz
Fix clamp leave and disable backfill github/erikj/chunk_pag_2 erikj/chunk_pag_2
Diffstat (limited to 'synapse/handlers/message.py')
-rw-r--r--synapse/handlers/message.py22
1 files changed, 5 insertions, 17 deletions
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py

index c350c93c7e..ca9c48cabc 100644 --- a/synapse/handlers/message.py +++ b/synapse/handlers/message.py
@@ -211,29 +211,17 @@ class MessageHandler(BaseHandler): ) if source_config.direction == 'b': - # if we're going backwards, we might need to backfill. This - # requires that we have a topo token. - if room_token.topological: - max_topo = room_token.topological - else: - max_topo = yield self.store.get_max_topological_token( - room_id, room_token.stream - ) - if membership == Membership.LEAVE: # If they have left the room then clamp the token to be before # they left the room, to save the effort of loading from the # database. + leave_token = yield self.store.get_topological_token_for_event( - member_event_id + member_event_id, + ) + source_config.from_key = yield self.store.clamp_token_before( + room_id, source_config.from_key, leave_token, ) - leave_token = RoomStreamToken.parse(leave_token) - if leave_token.topological < max_topo: - source_config.from_key = str(leave_token) - - yield self.hs.get_handlers().federation_handler.maybe_backfill( - room_id, max_topo - ) events, next_key, extremities = yield self.store.paginate_room_events( room_id=room_id,