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

Synapse does not attempt to send events in the device outbox at startup #16680

Open
kegsay opened this issue Nov 23, 2023 · 1 comment
Open
Labels
O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Major Major functionality / product severely impaired, no satisfactory workaround. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.

Comments

@kegsay
Copy link
Member

kegsay commented Nov 23, 2023

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

Attached.

Anything else that would be useful to know?

No response

@kegsay
Copy link
Member Author

kegsay commented Nov 24, 2023

If the user sends another to-device event, the outbox is then cleared.

The user only needs to send a to-device event to someone on the remote homeserver, it doesn't need to be specific.

@erikjohnston erikjohnston added T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues. S-Minor Blocks non-critical functionality, workarounds exist. O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Major Major functionality / product severely impaired, no satisfactory workaround. and removed S-Minor Blocks non-critical functionality, workarounds exist. labels Nov 29, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Major Major functionality / product severely impaired, no satisfactory workaround. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
Projects
None yet
Development

No branches or pull requests

2 participants