mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-14 11:57:44 +00:00
parent
bdfff9c36e
commit
05c9c7363b
2 changed files with 7 additions and 4 deletions
1
changelog.d/13600.misc
Normal file
1
changelog.d/13600.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Cache user IDs instead of profiles to reduce cache memory usage. Contributed by Nick @ Beeper (@fizzadar).
|
|
@ -916,7 +916,9 @@ class RoomMemberWorkerStore(EventsWorkerStore):
|
|||
event_to_memberships = await self._get_user_ids_from_membership_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.membership == Membership.JOIN:
|
||||
|
@ -942,15 +944,15 @@ class RoomMemberWorkerStore(EventsWorkerStore):
|
|||
)
|
||||
async def _get_user_ids_from_membership_event_ids(
|
||||
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
|
||||
event and if so return the associated user and profile info.
|
||||
event.
|
||||
|
||||
Args:
|
||||
event_ids: The member event IDs to lookup
|
||||
|
||||
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(
|
||||
|
|
Loading…
Reference in a new issue