forked-synapse/synapse/federation
Richard van der Hoff c897ac63e9
Ensure that incoming to-device messages are not dropped (#17127)
... when workers are unreachable, etc.

Fixes https://github.com/element-hq/synapse/issues/17117.

The general principle is just to make sure that we propagate any
exceptions to the JsonResource, so that we return an error code to the
sending server. That means that the sending server no longer considers
the message safely sent, so it will retry later.

In the issue, Erik mentions that an alternative solution would be to
persist the to-device messages into a table so that they can be retried.
This might be an improvement for performance, but even if we did that,
we still need this mechanism, since we might be unable to reach the
database. So, if we want to do that, it can be a later follow-up.

---------

Co-authored-by: Erik Johnston <erik@matrix.org>
2024-04-29 14:11:00 +01:00
..
sender Ensure that pending to-device events are sent over federation at startup (#16925) 2024-03-22 13:24:11 +00:00
transport Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
__init__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
federation_base.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
federation_client.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
federation_server.py Ensure that incoming to-device messages are not dropped (#17127) 2024-04-29 14:11:00 +01:00
persistence.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
send_queue.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
units.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00