You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With a multi-worker setup (we use 1 main worker, 3 generic workers and 3 sync workers), uploading keys via /keys/upload is successful, but /sync requests (which reach a different worker) still respond with:
Synapse 1.72 and older: if handling the ^/_matrix/client/v3/keys/upload endpoint, the HTTP URI for the main process (worker_main_http_uri). This config option is no longer required and is ignored when running Synapse 1.73 and newer.
This leads me to believe and understand that with 1.118, generic workers should handle /keys/upload correctly without any specific configuration.
Since this doesn't work, but works if these requests are routed to the main worker, I believe this is a bug.
Steps to reproduce
Set up a multi-worker synapse deployment (main + generic + sync workers)
Configure load-balancing to route /keys/upload to generic workers
Use a Matrix client that uploads one-time keys via /keys/upload, by being routed to a generic worker
Make a /sync request and check the count of known one-time keys by being routed to a sync worker
Observe that the count of keys is incorrectly zero
Reconfigure /keys/upload to be routed to the main worker
Perform steps 3 and 4 again
Observe the response from /sync to now be correct
Homeserver
Private homeserver
Synapse Version
1.118.0
Installation Method
Other (please mention below)
Database
bitnami/postgresql:15.4.0-debian-11-r45, single server, no restore or port
Description
With a multi-worker setup (we use 1 main worker, 3 generic workers and 3 sync workers), uploading keys via
/keys/upload
is successful, but/sync
requests (which reach a different worker) still respond with:However, if the ingress load-balancer is reconfigured to route
/keys/upload
to the main worker, the/sync
responses start to work correctly.As the documentation lists
/keys/upload
as available routes for generic workers, and further states:This leads me to believe and understand that with 1.118, generic workers should handle
/keys/upload
correctly without any specific configuration.Since this doesn't work, but works if these requests are routed to the main worker, I believe this is a bug.
Steps to reproduce
/keys/upload
to generic workers/keys/upload
, by being routed to a generic worker/sync
request and check the count of known one-time keys by being routed to a sync worker/keys/upload
to be routed to the main worker/sync
to now be correctHomeserver
Private homeserver
Synapse Version
1.118.0
Installation Method
Other (please mention below)
Database
bitnami/postgresql:15.4.0-debian-11-r45, single server, no restore or port
Workers
Multiple workers
Platform
Kubernetes v1.28.9, Hetzner Cloud VMs.
Deployed via helm/ananace-charts/matrix-synapse chart version
3.10.0
Routing via Traefik and HAProxy (for specific Synapse worker load-balancing)
Configuration
Helm chart relevant values used:
Custom HAProxy load-balancer config, as per documentation:
Of particular note is the ACL for
/keys/upload
:Relevant log output
Anything else that would be useful to know?
No response
The text was updated successfully, but these errors were encountered: