Skip to content
Snippets Groups Projects
Commit 4b18a082 authored by kaiyou's avatar kaiyou
Browse files

Clean all unreferenced state groups when purging

The purging code already cleans unreferenced state groups up
the graph when purging, ie. previous state groups that are not
referenced anymore because we are deleting their children.

However, some state groups are completely unreferenced, and
thus never cleaned, because no code even looks for them. They
could be detected and cleaned on a regular basis, yet because
they cause the room purging code to spam the database with
useless de-delta-ed lines, it would be nice to detect and clean
them early before things go wrong.

See https://github.com/element-hq/synapse/issues/9406 for details
about the issue as seen in the wild.

We are interested in state groups *down* the graph from those
we delete, which are the ones we might accidently de-delta. Hence
we replace the code that climbs up the graph with a broader search
for state groups to delete, browsing all linked groups, up and down
the graph.
parent fbd930ce
No related branches found
No related tags found
Loading
Checking pipeline status
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment