Open germain-gg opened 3 years ago
I think this is basically the same as https://github.com/matrix-org/synapse/issues/2047
Somewhat yes, in the fact that it's Synapse returning a 500 to the client when receiving unexpected error codes from the remote server.
I noticed that the invite error code handling in FederationClient was quite sane with respect to 429's specifically. If it receives one, it wraps it in a SynapseError
and bubbles it up to the client:
However, looking in MatrixFederationClient._send_request
we can see that receiving a 429 will attempt to retry a few times before eventually raising a RequestSendFailed
exception, which the call stack doesn't look to handle properly.
Description
Whilst debugging vector-im/element-web#16924 I found myself having to create a lot of room to reproduce the race condition described there.
Looking throught the looks I could sporadically see the room invite API endpoint returning a 500
Steps to reproduce
@anoadragon453 kindly agreed to look at the logs and reported
Version information