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

Some house keeping on maybe_backfill() functions #15709

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/15709.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Update docstring and traces on `maybe_backfill()` functions.
17 changes: 17 additions & 0 deletions synapse/handlers/federation.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ def __init__(self, hs: "HomeServer"):
)

@trace
@tag_args
async def maybe_backfill(
self, room_id: str, current_depth: int, limit: int
) -> bool:
Expand All @@ -214,6 +215,9 @@ async def maybe_backfill(
limit: The number of events that the pagination request will
return. This is used as part of the heuristic to decide if we
should back paginate.

Returns:
True if we actually tried to backfill something, otherwise False.
"""
# Starting the processing time here so we can include the room backfill
# linearizer lock queue in the timing
Expand All @@ -227,6 +231,8 @@ async def maybe_backfill(
processing_start_time=processing_start_time,
)

@trace
@tag_args
async def _maybe_backfill_inner(
self,
room_id: str,
Expand All @@ -247,6 +253,9 @@ async def _maybe_backfill_inner(
limit: The max number of events to request from the remote federated server.
processing_start_time: The time when `maybe_backfill` started processing.
Only used for timing. If `None`, no timing observation will be made.

Returns:
True if we actually tried to backfill something, otherwise False.
"""
backwards_extremities = [
_BackfillPoint(event_id, depth, _BackfillPointType.BACKWARDS_EXTREMITY)
Expand Down Expand Up @@ -302,6 +311,14 @@ async def _maybe_backfill_inner(
len(sorted_backfill_points),
sorted_backfill_points,
)
set_tag(
SynapseTags.RESULT_PREFIX + "sorted_backfill_points",
str(sorted_backfill_points),
)
set_tag(
SynapseTags.RESULT_PREFIX + "sorted_backfill_points.length",
str(len(sorted_backfill_points)),
)

# If we have no backfill points lower than the `current_depth` then
# either we can a) bail or b) still attempt to backfill. We opt to try
Expand Down