Fix regression caused by #13573 (#13600)

Broke in #13573.
pull/13603/head
Erik Johnston 2022-08-23 15:14:05 +01:00 committed by GitHub
parent bdfff9c36e
commit 05c9c7363b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

1
changelog.d/13600.misc Normal file
View File

@ -0,0 +1 @@
Cache user IDs instead of profiles to reduce cache memory usage. Contributed by Nick @ Beeper (@fizzadar).

View File

@ -916,7 +916,9 @@ class RoomMemberWorkerStore(EventsWorkerStore):
event_to_memberships = await self._get_user_ids_from_membership_event_ids( event_to_memberships = await self._get_user_ids_from_membership_event_ids(
missing_member_event_ids missing_member_event_ids
) )
users_in_room.update(event_to_memberships.values()) users_in_room.update(
user_id for user_id in event_to_memberships.values() if user_id
)
if event is not None and event.type == EventTypes.Member: if event is not None and event.type == EventTypes.Member:
if event.membership == Membership.JOIN: if event.membership == Membership.JOIN:
@ -942,15 +944,15 @@ class RoomMemberWorkerStore(EventsWorkerStore):
) )
async def _get_user_ids_from_membership_event_ids( async def _get_user_ids_from_membership_event_ids(
self, event_ids: Iterable[str] self, event_ids: Iterable[str]
) -> Dict[str, str]: ) -> Dict[str, Optional[str]]:
"""For given set of member event_ids check if they point to a join """For given set of member event_ids check if they point to a join
event and if so return the associated user and profile info. event.
Args: Args:
event_ids: The member event IDs to lookup event_ids: The member event IDs to lookup
Returns: Returns:
Map from event ID to `user_id` and ProfileInfo (or None if not join event). Map from event ID to `user_id`, or None if event is not a join.
""" """
rows = await self.db_pool.simple_select_many_batch( rows = await self.db_pool.simple_select_many_batch(