This repository was archived by the owner on Apr 26, 2024. It is now read-only.
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
Large rooms are stuck in partial-state because of response body size limit on /state
federation API #15127
Open
Description
Whilst resyncing a room from libera.chat to Matrix.org (Libera is resident, Morg is partial-state), the room state is too big (the response > 500 MiB) and it's hitting a response body size limit:
federation_inbound4.log:2023-02-21 16:02:34,329 - synapse.http.matrixfederationclient - 240 - WARNING - _process_incoming_pdus_in_room_inner-41-$9smLiG7QFK54RlCkbKxtv3fP51S9Fpof7gx34bhvVdI---$inr3_5AH_4CTwJyBza-ZrWP4Qo3i_QvMEilMW_E9pBU---$_M55QrVpzz9THIgUgngswj99-Z6JPa5XGBQ-xr7q1h4--- - {GET-O-22420} [libera.chat] JSON response exceeded max size 524288000 - GET matrix://libera.chat/_matrix/federation/v1/state/%21fuzEIyMtiFYSFEjRCI%3Alibera.chat?event_id=%24_M55QrVpzz9THIgUgngswj99-Z6JPa5XGBQ-xr7q1h4
# As with /send_join, /state responses can be huge.
MAX_RESPONSE_SIZE = 500 * 1024 * 1024
This room is now stuck and I don't think anything, short of upping this limit and waiting until we manage to hit that, will help. We need a sustainable solution.
Synapse version 1.78.0rc1 (+ morg hotfixes)