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

Synapse is not limiting the number of EDUs in a transaction #3951

Closed
turt2live opened this issue Sep 25, 2018 · 6 comments
Closed

Synapse is not limiting the number of EDUs in a transaction #3951

turt2live opened this issue Sep 25, 2018 · 6 comments

Comments

@turt2live
Copy link
Member

It looks like #3805 tries to, however there's some evidence that the EDU limiting doesn't work:

homeserver_1 - 2018-09-25 14:48:16,126 - synapse.federation.transport.server - 336 - INFO - PUT-381748 - Received txn 1537790360731 from matrix.org. (PDUs: 50, EDUs: 166 - DROPPED)

(EDUs are 'dropped' because of a change on t2bot.io - this doesn't change the number of EDUs received from matrix.org)

@neilisfragile neilisfragile added the z-p2 (Deprecated Label) label Oct 5, 2018
@richvdh
Copy link
Member

richvdh commented Mar 1, 2019

yeah, there are other EDUs which aren't included in the clip in in #3805. I'll handle this as part of my work on #4730.

richvdh added a commit that referenced this issue Mar 1, 2019
In order to reduce the number of outgoing federation transactions, we want to
aggregate read-receipts, since there is little harm if outgoing RRs are delayed
by a few seconds, and we can dramatically reduce the number of transactions by
doing so.

This change introduces the concept of EDU 'buckets'; currently we have the
'Instant' bucket and the 'Delayed' bucket.

Fixes #4730, #3951.
@anoadragon453
Copy link
Member

@richvdh Was this handled?

@richvdh
Copy link
Member

richvdh commented Mar 27, 2019

Not really, I'm afraid. The original solution to #4730 got thrown away, and it's still possible for synapse to spam out more than 100 EDUs in a transaction.

@turt2live
Copy link
Member Author

This is fairly urgent imo now that #4513 is a thing - servers cannot federate with each other because the transactions are being turned away.

@superboum
Copy link
Contributor

superboum commented May 4, 2019

I am currently encountering the problem described by @turt2live :

2019-05-04 06:16:57,274 - synapse.federation.sender.transaction_manager - 87 - INFO - federation_transaction_transmission_loop-678370- TX [matrix.livda.fr] {1556878459543} Sending transaction [1556878459543], (PDUs: 0, EDUs: 103)
2019-05-04 06:16:57,338 - synapse.http.matrixfederationclient - 356 - INFO - federation_transaction_transmission_loop-678370- {PUT-O-448448} [matrix.livda.fr] Sending request: PUT matrix://matrix.livda.fr/_matrix/federation/v1/send/1556878459543; timeout 60.000000s
2019-05-04 06:16:57,339 - synapse.http.federation.matrix_federation_agent - 373 - INFO - federation_transaction_transmission_loop-678370- Connecting to matrix.livda.fr:443
[...]
2019-05-04 06:17:08,409 - synapse.http.matrixfederationclient - 388 - INFO - federation_transaction_transmission_loop-678370- {PUT-O-448448} [matrix.livda.fr] Got response headers: 400 Bad Request
2019-05-04 06:17:08,410 - synapse.http.matrixfederationclient - 472 - WARNING - federation_transaction_transmission_loop-678370- {PUT-O-448448} [matrix.livda.fr] Request failed: PUT matrix://matrix.livda.fr/_matrix/federation/v1/send/1556878459543: HttpResponseException("400: b'Bad Request'",)
2019-05-04 06:17:08,411 - synapse.federation.sender.transaction_manager - 123 - INFO - federation_transaction_transmission_loop-678370- TX [matrix.livda.fr] {1556878459543} got 400 response

The problem doesn't seem to disappear by itself. How can I tell to my server to put less EDUs in its request?

@richvdh
Copy link
Member

richvdh commented May 9, 2019

Fixed by #5138

@richvdh richvdh closed this as completed May 9, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants