diff options
author | Erik Johnston <erikj@element.io> | 2024-07-23 14:03:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-23 14:03:14 +0100 |
commit | d225b6b3ebea419bdf0e6c0f1476544053f2dcbf (patch) | |
tree | c082e84c0e99375152093cd23dde5bacf684d248 /synapse/util/caches | |
parent | Reduce volume of 'Waiting for current token' logs, which were introduced in v... (diff) | |
download | synapse-d225b6b3ebea419bdf0e6c0f1476544053f2dcbf.tar.xz |
Speed up SS room sorting (#17468)
We do this by bulk fetching the latest stream ordering. --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Diffstat (limited to 'synapse/util/caches')
-rw-r--r-- | synapse/util/caches/stream_change_cache.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/synapse/util/caches/stream_change_cache.py b/synapse/util/caches/stream_change_cache.py index 91c335f85b..16fcb00206 100644 --- a/synapse/util/caches/stream_change_cache.py +++ b/synapse/util/caches/stream_change_cache.py @@ -327,7 +327,7 @@ class StreamChangeCache: for entity in r: self._entity_to_key.pop(entity, None) - def get_max_pos_of_last_change(self, entity: EntityType) -> int: + def get_max_pos_of_last_change(self, entity: EntityType) -> Optional[int]: """Returns an upper bound of the stream id of the last change to an entity. @@ -335,7 +335,11 @@ class StreamChangeCache: entity: The entity to check. Return: - The stream position of the latest change for the given entity or - the earliest known stream position if the entitiy is unknown. + The stream position of the latest change for the given entity, if + known """ - return self._entity_to_key.get(entity, self._earliest_known_stream_pos) + return self._entity_to_key.get(entity) + + def get_earliest_known_position(self) -> int: + """Returns the earliest position in the cache.""" + return self._earliest_known_stream_pos |