Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Port #4422 debug logging from hotfixes
Browse files Browse the repository at this point in the history
  • Loading branch information
erikjohnston committed Mar 6, 2019
1 parent 7b8a157 commit 8b7790e
Showing 1 changed file with 46 additions and 7 deletions.
53 changes: 46 additions & 7 deletions synapse/handlers/sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@

logger = logging.getLogger(__name__)

# Debug logger for https://github.com/matrix-org/synapse/issues/4422
issue4422_logger = logging.getLogger("synapse.handler.sync.4422_debug")


# Counts the number of times we returned a non-empty sync. `type` is one of
# "initial_sync", "full_state_sync" or "incremental_sync", `lazy_loaded` is
Expand Down Expand Up @@ -962,6 +965,15 @@ def generate_sync_result(self, sync_config, since_token=None, full_state=False):

yield self._generate_sync_entry_for_groups(sync_result_builder)

# debug for https://github.com/matrix-org/synapse/issues/4422
for joined_room in sync_result_builder.joined:
room_id = joined_room.room_id
if room_id in newly_joined_rooms:
issue4422_logger.debug(
"Sync result for newly joined room %s: %r",
room_id, joined_room,
)

defer.returnValue(SyncResult(
presence=sync_result_builder.presence,
account_data=sync_result_builder.account_data,
Expand Down Expand Up @@ -1425,6 +1437,17 @@ def _get_rooms_changed(self, sync_result_builder, ignored_users):
old_mem_ev = yield self.store.get_event(
old_mem_ev_id, allow_none=True
)

# debug for #4422
if has_join:
prev_membership = None
if old_mem_ev:
prev_membership = old_mem_ev.membership
issue4422_logger.debug(
"Previous membership for room %s with join: %s (event %s)",
room_id, prev_membership, old_mem_ev_id,
)

if not old_mem_ev or old_mem_ev.membership != Membership.JOIN:
newly_joined_rooms.append(room_id)

Expand Down Expand Up @@ -1519,30 +1542,39 @@ def _get_rooms_changed(self, sync_result_builder, ignored_users):
for room_id in sync_result_builder.joined_room_ids:
room_entry = room_to_events.get(room_id, None)

newly_joined = room_id in newly_joined_rooms
if room_entry:
events, start_key = room_entry

prev_batch_token = now_token.copy_and_replace("room_key", start_key)

room_entries.append(RoomSyncResultBuilder(
entry = RoomSyncResultBuilder(
room_id=room_id,
rtype="joined",
events=events,
newly_joined=room_id in newly_joined_rooms,
newly_joined=newly_joined,
full_state=False,
since_token=None if room_id in newly_joined_rooms else since_token,
since_token=None if newly_joined else since_token,
upto_token=prev_batch_token,
))
)
else:
room_entries.append(RoomSyncResultBuilder(
entry = RoomSyncResultBuilder(
room_id=room_id,
rtype="joined",
events=[],
newly_joined=room_id in newly_joined_rooms,
newly_joined=newly_joined,
full_state=False,
since_token=since_token,
upto_token=since_token,
))
)

if newly_joined:
# debugging for https://github.com/matrix-org/synapse/issues/4422
issue4422_logger.debug(
"RoomSyncResultBuilder events for newly joined room %s: %r",
room_id, entry.events,
)
room_entries.append(entry)

defer.returnValue((room_entries, invited, newly_joined_rooms, newly_left_rooms))

Expand Down Expand Up @@ -1663,6 +1695,13 @@ def _generate_room_entry(self, sync_result_builder, ignored_users,
newly_joined_room=newly_joined,
)

if newly_joined:
# debug for https://github.com/matrix-org/synapse/issues/4422
issue4422_logger.debug(
"Timeline events after filtering in newly-joined room %s: %r",
room_id, batch,
)

# When we join the room (or the client requests full_state), we should
# send down any existing tags. Usually the user won't have tags in a
# newly joined room, unless either a) they've joined before or b) the
Expand Down

0 comments on commit 8b7790e

Please sign in to comment.