-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Synapse does not attempt to send events in the device outbox at startup #16680
Comments
... indeed, if any outgoing federation traffic happens (room events, typing notifications, device list updates) that will be enough to prompt us to process the outbox. Also, in general, an incoming federation transaction on a server previously marked as "down" will cause us to restart the federation transmission loop and process the outbox. |
Now that element-hq/synapse#16680 has been fixed, we can remove this redundant poke.
…tup (#16925) Fixes #16680, as well as a related bug, where servers which we had *never* successfully sent an event to would not be retried. In order to fix the case of pending to-device messages, we hook into the existing `wake_destinations_needing_catchup` process, by extending it to look for destinations that have pending to-device messages. The federation transmission loop then attempts to send the pending to-device messages as normal.
Now that element-hq/synapse#16680 has been fixed, we can remove this redundant poke.
This issue has been migrated from #16680.
Description
If you call
/sendToDevice
to a remote user, and that user's HS is temporarily down (not offline long enough to be blacklisted), it will not be sent. It will be stored in the device outbox federation table. If you then restart Synapse, it does not try to empty that table at startup. I waited 30s for it to do something.This happens on sqlite, postgres and worker mode.
If the user sends another to-device event, the outbox is then cleared.
Steps to reproduce
Run this complement test and remove the "kick" event which happens after 10s in a goroutine: matrix-org/complement#694
Logs for HS1 (the one which gets restarted) running Postgres (no worker mode) attached.
postgres-hs1.log
Homeserver
Local
Synapse Version
v1.95
Installation Method
Docker (matrixdotorg/synapse)
Database
PostgreSQL
Workers
Single process
Platform
complement
Configuration
No response
Relevant log output
Anything else that would be useful to know?
No response
The text was updated successfully, but these errors were encountered: