diff options
author | Richard van der Hoff <richard@matrix.org> | 2018-10-16 20:37:16 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2018-10-16 21:10:04 +0100 |
commit | fc0f13dd036cec4e41f5969d021d9dd10d6e5016 (patch) | |
tree | 27c5a9a0c125ef8f8c00420f21ed1d4dade3b31c /synapse/federation/federation_server.py | |
parent | Various cleanups in the federation client code (#4031) (diff) | |
download | synapse-fc0f13dd036cec4e41f5969d021d9dd10d6e5016.tar.xz |
Fix incorrect truncation in get_missing_events
It's quite important that get_missing_events returns the *latest* events in the room; however we were pulling event ids out of the database until we got *at least* 10, and then taking the *earliest* of the results. We also shouldn't really be relying on depth, and should be checking the room_id.
Diffstat (limited to 'synapse/federation/federation_server.py')
-rw-r--r-- | synapse/federation/federation_server.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/synapse/federation/federation_server.py b/synapse/federation/federation_server.py index 819e8f7331..4efe95faa4 100644 --- a/synapse/federation/federation_server.py +++ b/synapse/federation/federation_server.py @@ -507,19 +507,19 @@ class FederationServer(FederationBase): @defer.inlineCallbacks @log_function def on_get_missing_events(self, origin, room_id, earliest_events, - latest_events, limit, min_depth): + latest_events, limit): with (yield self._server_linearizer.queue((origin, room_id))): origin_host, _ = parse_server_name(origin) yield self.check_server_matches_acl(origin_host, room_id) logger.info( "on_get_missing_events: earliest_events: %r, latest_events: %r," - " limit: %d, min_depth: %d", - earliest_events, latest_events, limit, min_depth + " limit: %d", + earliest_events, latest_events, limit, ) missing_events = yield self.handler.on_get_missing_events( - origin, room_id, earliest_events, latest_events, limit, min_depth + origin, room_id, earliest_events, latest_events, limit, ) if len(missing_events) < 5: |