diff options
author | Erik Johnston <erik@matrix.org> | 2019-10-10 13:10:57 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2019-10-10 13:10:57 +0100 |
commit | 91f43dca3939cd6ccbc90d19a284d00f6e14fd7c (patch) | |
tree | cb15ddf14a01a0e67b9eaf91b482d65bf2057f4e /synapse/handlers/user_directory.py | |
parent | Newsfile (diff) | |
parent | Add domain validation when creating room with list of invitees (#6121) (diff) | |
download | synapse-91f43dca3939cd6ccbc90d19a284d00f6e14fd7c.tar.xz |
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/disable_sql_bytes
Diffstat (limited to 'synapse/handlers/user_directory.py')
-rw-r--r-- | synapse/handlers/user_directory.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/synapse/handlers/user_directory.py b/synapse/handlers/user_directory.py index e53669e40d..624f05ab5b 100644 --- a/synapse/handlers/user_directory.py +++ b/synapse/handlers/user_directory.py @@ -138,21 +138,28 @@ class UserDirectoryHandler(StateDeltasHandler): # Loop round handling deltas until we're up to date while True: with Measure(self.clock, "user_dir_delta"): - deltas = yield self.store.get_current_state_deltas(self.pos) - if not deltas: + room_max_stream_ordering = self.store.get_room_max_stream_ordering() + if self.pos == room_max_stream_ordering: return + logger.debug( + "Processing user stats %s->%s", self.pos, room_max_stream_ordering + ) + max_pos, deltas = yield self.store.get_current_state_deltas( + self.pos, room_max_stream_ordering + ) + logger.info("Handling %d state deltas", len(deltas)) yield self._handle_deltas(deltas) - self.pos = deltas[-1]["stream_id"] + self.pos = max_pos # Expose current event processing position to prometheus synapse.metrics.event_processing_positions.labels("user_dir").set( - self.pos + max_pos ) - yield self.store.update_user_directory_stream_pos(self.pos) + yield self.store.update_user_directory_stream_pos(max_pos) @defer.inlineCallbacks def _handle_deltas(self, deltas): |