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

Commit

Permalink
Hack to workaround libera federation pain
Browse files Browse the repository at this point in the history
as seen in #15216
  • Loading branch information
David Robertson committed Mar 7, 2023
1 parent a95e906 commit ab629c1
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions synapse/federation/sender/per_destination_queue.py
Expand Up @@ -509,6 +509,17 @@ async def _catch_up_transmission_loop(self) -> None:
# servers, but the remote will correctly deduplicate them and
# handle it only once.

# TEMPORARY HACK: the loop body below can block during partial state
# resyncs. This is bad---other, fully joined rooms have their federation
# sending nobbled. As a stopgap, ignore partial state rooms here.
# Any queued messages in rooms that we skip won't be sent to this
# destination; they'll wait for us to send a new event in the room.
if await self._store.is_partial_state_room(pdu.room_id):
logger.warning(
"SKIPPING CATCHUP FOR PARTIAL STATE ROOM: %s", pdu.room_id
)
continue

# Step 1, fetch the current extremities
extrems = await self._store.get_prev_events_for_room(pdu.room_id)

Expand Down

0 comments on commit ab629c1

Please sign in to comment.