Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does synpurge take into account the fact that the purge API is now async? #27

Open
ara4n opened this issue Sep 8, 2018 · 3 comments
Open
Labels

Comments

@ara4n
Copy link

ara4n commented Sep 8, 2018

Hi @aperezdc - apparently disroot.org's Matrix is currently down because they've tried to use synpurge and everything exploded. I stumbled across the problem and am trying to take a look at what they did, but from a quick inspection it looks like synpurge assumes that the /purge API is synchronous? Whereas in practice since March and matrix-org/synapse@e48c7aa#diff-5193fb8c4513ad3edf300808e59a10b1 the API has been async and returns immediately. Therefore I'm wondering if synpurge is firing off a tonne of simultaneous purge requests which then melt the server

Relatedly, I'm also wondering what the point is of the reindex button, which I think has been used here - recreating all the indexes on the DB is presumably likely to slow things down massively?

@aperezdc aperezdc added the bug label Sep 8, 2018
@aperezdc
Copy link
Owner

aperezdc commented Sep 8, 2018

Ouch! It does certainly assume that the API endpoint is synchronous 😱

I'll put up a big warning in the README to warn about this issue, because I think neither me nor @psaavedra will have time to look into this soon.

@ara4n
Copy link
Author

ara4n commented Sep 8, 2018

feels like the blame might be on our side for switching it to be async in a backwards incompatible manner, assuming that's what's happened here. sorry :(

aperezdc added a commit that referenced this issue Sep 8, 2018
@rubo77
Copy link

rubo77 commented Oct 15, 2018

wouldn't be a quickfix to add a delay of some seconds between each purge request.

maybe make it dependent on the size of the room.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants