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

Synapse retries too-large appservice transactions indefinitely #6478

Closed
Half-Shot opened this issue Dec 5, 2019 · 1 comment
Closed

Synapse retries too-large appservice transactions indefinitely #6478

Half-Shot opened this issue Dec 5, 2019 · 1 comment
Labels
A-Application-Service Related to AS support z-bug (Deprecated Label)

Comments

@Half-Shot
Copy link
Collaborator

Half-Shot commented Dec 5, 2019

The flow goes more or less like this:

  1. The bridge gets behind on transaction traffic.
  2. A large number of events build up on the synapse side, and get bundled into one large transaction.
  3. Synapse tries to send this transaction, and the bridge responds with a 413 (payload too large). matrix-org bridges are limited to 5MB transactions.
  4. This leads to appservice_stream_position can get into such a state that ASes break silently #1834.

(FTR, the txn 355792220 for the irc-freenode bridge contained 548 events)

We probably want to limit the number of events send in a transaction on the synapse side, and then ensure the bridge can handle (LIMIT*65k + padding).

@Half-Shot Half-Shot added z-bug (Deprecated Label) A-Application-Service Related to AS support labels Dec 5, 2019
@richvdh
Copy link
Member

richvdh commented Dec 5, 2019

#3536

@richvdh richvdh closed this as completed Dec 5, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Application-Service Related to AS support z-bug (Deprecated Label)
Projects
None yet
Development

No branches or pull requests

2 participants