summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Eastwood <erice@element.io>2021-12-03 18:25:04 -0600
committerGitHub <noreply@github.com>2021-12-03 18:25:04 -0600
commit4eb77965cd016181d2111f37d93526e9bb0434f0 (patch)
tree487453c0f4db7ae18f8e219c2c4aa85d028cb60b
parentSupport configuring the lifetime of non-refreshable access tokens separately ... (diff)
downloadsynapse-4eb77965cd016181d2111f37d93526e9bb0434f0.tar.xz
Update backward extremity docs to make it clear that it does not indicate whether we have fetched an events' `prev_events` (#11469)
Spawning from https://github.com/matrix-org/synapse/pull/9445#discussion_r758958181

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
-rw-r--r--changelog.d/11469.doc1
-rw-r--r--docs/development/room-dag-concepts.md16
2 files changed, 8 insertions, 9 deletions
diff --git a/changelog.d/11469.doc b/changelog.d/11469.doc
new file mode 100644
index 0000000000..51602aa968
--- /dev/null
+++ b/changelog.d/11469.doc
@@ -0,0 +1 @@
+Update section about backward extremities in the room DAG concepts doc to correct the misconception about backward extremities indicating whether we have fetched an events' `prev_events`.
diff --git a/docs/development/room-dag-concepts.md b/docs/development/room-dag-concepts.md
index 5eed72bec6..cbc7cf2949 100644
--- a/docs/development/room-dag-concepts.md
+++ b/docs/development/room-dag-concepts.md
@@ -38,16 +38,15 @@ Most-recent-in-time events in the DAG which are not referenced by any other even
 The forward extremities of a room are used as the `prev_events` when the next event is sent.
 
 
-## Backwards extremity
+## Backward extremity
 
 The current marker of where we have backfilled up to and will generally be the
-oldest-in-time events we know of in the DAG.
+`prev_events` of the oldest-in-time events we have in the DAG. This gives a starting point when
+backfilling history.
 
-This is an event where we haven't fetched all of the `prev_events` for.
-
-Once we have fetched all of its `prev_events`, it's unmarked as a backwards
-extremity (although we may have formed new backwards extremities from the prev
-events during the backfilling process).
+When we persist a non-outlier event, we clear it as a backward extremity and set
+all of its `prev_events` as the new backward extremities if they aren't already
+persisted in the `events` table.
 
 
 ## Outliers
@@ -56,8 +55,7 @@ We mark an event as an `outlier` when we haven't figured out the state for the
 room at that point in the DAG yet.
 
 We won't *necessarily* have the `prev_events` of an `outlier` in the database,
-but it's entirely possible that we *might*. The status of whether we have all of
-the `prev_events` is marked as a [backwards extremity](#backwards-extremity).
+but it's entirely possible that we *might*.
 
 For example, when we fetch the event auth chain or state for a given event, we
 mark all of those claimed auth events as outliers because we haven't done the