Skip to content

Commit

Permalink
Reduce overhead of sliding sync E2EE loops (#17771)
Browse files Browse the repository at this point in the history
Mainly toning down logging and only calling
`get_membership_from_event_ids` if something has changed.
  • Loading branch information
erikjohnston authored Sep 30, 2024
1 parent de95529 commit 5210565
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 6 deletions.
1 change: 1 addition & 0 deletions changelog.d/17771.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Reduce overhead of sliding sync E2EE loops.
2 changes: 1 addition & 1 deletion synapse/api/auth/msc3861_delegated.py
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ async def get_user_by_access_token(
logger.exception("Failed to introspect token")
raise SynapseError(503, "Unable to introspect the access token")

logger.info(f"Introspection result: {introspection_result!r}")
logger.debug("Introspection result: %r", introspection_result)

# TODO: introspection verification should be more extensive, especially:
# - verify the audience
Expand Down
11 changes: 6 additions & 5 deletions synapse/handlers/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
wrap_as_background_process,
)
from synapse.storage.databases.main.client_ips import DeviceLastConnectionInfo
from synapse.storage.databases.main.roommember import EventIdMembership
from synapse.storage.databases.main.state_deltas import StateDelta
from synapse.types import (
DeviceListUpdates,
Expand Down Expand Up @@ -222,7 +223,6 @@ async def get_device_changes_in_shared_rooms(
return changed

@trace
@measure_func("device.get_user_ids_changed")
@cancellable
async def get_user_ids_changed(
self, user_id: str, from_token: StreamToken
Expand Down Expand Up @@ -290,9 +290,11 @@ async def get_user_ids_changed(
memberships_to_fetch.add(delta.prev_event_id)

# Fetch all the memberships for the membership events
event_id_to_memberships = await self.store.get_membership_from_event_ids(
memberships_to_fetch
)
event_id_to_memberships: Mapping[str, Optional[EventIdMembership]] = {}
if memberships_to_fetch:
event_id_to_memberships = await self.store.get_membership_from_event_ids(
memberships_to_fetch
)

joined_invited_knocked = (
Membership.JOIN,
Expand Down Expand Up @@ -349,7 +351,6 @@ async def get_user_ids_changed(

return device_list_updates

@measure_func("_generate_sync_entry_for_device_list")
async def generate_sync_entry_for_device_list(
self,
user_id: str,
Expand Down

0 comments on commit 5210565

Please sign in to comment.