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

Room history limit on initial sync when joining #5772

Closed
voice06 opened this issue Jul 25, 2019 · 4 comments
Closed

Room history limit on initial sync when joining #5772

voice06 opened this issue Jul 25, 2019 · 4 comments

Comments

@voice06
Copy link

voice06 commented Jul 25, 2019

It would possibly help performance out a great deal by giving Synapse admins the ability to set a limit on how much data Synapse will attempt to sync on joining a room, particularly large rooms. The Matrix HQ room being a huge offender here I joined on my Synapse server 4 hours ago and it is still trying to sync resulting in the server periodically becoming unavailable.

@richvdh
Copy link
Member

richvdh commented Jul 26, 2019

This is what lazy-loading does, so basically you are asking for a switch that will disable access from clients that do not support that feature?

@richvdh
Copy link
Member

richvdh commented Jul 26, 2019

(if you are having problems with your server after joining HQ, it may be nothing to do with initialsync...)

@voice06
Copy link
Author

voice06 commented Jul 26, 2019

I am asking for the ability to have the homeserver admin be able to say on joining rooms and grabbing say a month's worth of room history on join/initial sync and if a user wants to go further back then they can scroll up beyond that point and the server will ask for that history.

Right now it seems like if you join a room the homeserver attempts to get the entire room history from the moment it was created to current

EDIT:
Basically the server should never become unusable for hours and peg out just because a large room like Matrix HQ was joined.

img

@richvdh
Copy link
Member

richvdh commented Jul 26, 2019

I am asking for the ability to have the homeserver admin be able to say on joining rooms and grabbing say a month's worth of room history on join/initial sync and if a user wants to go further back then they can scroll up beyond that point and the server will ask for that history.

Currently the homeserver will not fetch any "history" at all until the client requests it.

What it will do is fetch the current state (including all 15000 room members, for matrix HQ), as well as a number of other events essential for authorisation of other events in the room, and check the signatures on those events. That can take some time, but it shouldn't take hours.

It's certainly true that joining large rooms pins your CPU for hours, for various reasons that could almost certainly be fixed if we had time: see #5248 and #1211 for instance.

However, I don't think that this is anything to do with initialsync or backfilling history, so I'm going to close this in favour of the existing issues on the subject.

@richvdh richvdh closed this as completed Jul 26, 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

2 participants