diff options
author | Erik Johnston <erikj@jki.re> | 2016-10-24 13:58:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-24 13:58:28 +0100 |
commit | e83a08d795ed15c7cd9378dfa75b1c7b388a80f7 (patch) | |
tree | d11c5a6dfa49cc0efbb80b4b99ea7767bc2b768c /synapse/handlers | |
parent | Merge pull request #1177 from matrix-org/paul/standard-metric-names (diff) | |
parent | Actually use the new function (diff) | |
download | synapse-e83a08d795ed15c7cd9378dfa75b1c7b388a80f7.tar.xz |
Merge pull request #1178 from matrix-org/erikj/current_room_token
Fix incredibly slow back pagination query
Diffstat (limited to 'synapse/handlers')
-rw-r--r-- | synapse/handlers/message.py | 4 | ||||
-rw-r--r-- | synapse/handlers/room.py | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py index 59eb26beaf..abfa8c65a4 100644 --- a/synapse/handlers/message.py +++ b/synapse/handlers/message.py @@ -82,8 +82,8 @@ class MessageHandler(BaseHandler): room_token = pagin_config.from_token.room_key else: pagin_config.from_token = ( - yield self.hs.get_event_sources().get_current_token( - direction='b' + yield self.hs.get_event_sources().get_current_token_for_room( + room_id=room_id ) ) room_token = pagin_config.from_token.room_key diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py index a7f533f7be..59e4d1cd15 100644 --- a/synapse/handlers/room.py +++ b/synapse/handlers/room.py @@ -475,8 +475,11 @@ class RoomEventSource(object): defer.returnValue((events, end_key)) - def get_current_key(self, direction='f'): - return self.store.get_room_events_max_id(direction) + def get_current_key(self): + return self.store.get_room_events_max_id() + + def get_current_key_for_room(self, room_id): + return self.store.get_room_events_max_id(room_id) @defer.inlineCallbacks def get_pagination_rows(self, user, config, key): |