-
Notifications
You must be signed in to change notification settings - Fork 395
After a user redacted their own join event from HQ, Android DoSes us with /context requests #1859
Comments
The main problem is the performance of room state events redaction |
why is it calling /context at all, though? the right API to recompute the state is /state (which may be less heavy)? |
For the both mobile clients, When an event is redacted (from the sync) -> check if the event is known, if it is a room state, compute the new room state from the state events list stored in the application store (disabled on Android because of out of memory crashes) -> if the event is not known, a "getContent of event" request is triggered to retrieve the message type (this is your server overload issue). If a room state event, we perform a room initial sync (because we don't know which updates it implies). The context request is done because there is no other way to retrieve a message content from its room id / event id. |
(the agreed solution is to implement /rooms/{roomId}/event/{eventId} on the server and have the mobile client use that instead of the more heavy-weight .../context/...) |
After a user redacted their own join event from HQ, Android DoSes us with /context requests
@richvdh @ara4n we need to be backward compatible until all the servers are updated. |
After a user redacted their own join event from HQ, Android DoSes us with /context requests (cherry picked from commit c1c842c)
We saw 2061 requests to '/_matrix/client/r0/rooms/%21cURbafjkfsMDVwdRDQ%3Amatrix.org/context/%2415153218301304484Fpgds%3Amatrix.org?limit=1' from Riot/Android clients after a user redacted that event (they sent 3 redactions, as presumably it didn't seem to work). This looks to have contributed to taking out the main synapse process for ~30 minutes
The text was updated successfully, but these errors were encountered: