element-hq / element-hq/synapse

forward extremities are leaked when their successors are persisted as outliers and later de-outliered

Open
#6,607 0 comments 0 reactions 0 assignees View on GitHub
A-Federation O-Uncommon S-Minor T-Defect
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

This issue has been migrated from [#6607](https://github.com/matrix-org/synapse/issues/6607).

---

Consider a sequence of events

```
A <- B <- C <- D
```

Starting with A, it is the only forward extremity in the DAG.

Then, suppose we receive D, and for whatever reason, the missing-events algorithm ends up retrieving B and C, and B is persisted as an outlier. We now have two forward extremities: A and D.

[B can be an outlier even though we have all its predecessors and successors: it means that we haven't resolved the state at that point in the graph.]

Later, we might de-outlier B due to a backfill request. When this happens, A remains a forward extremity.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.