summary refs log tree commit diff
path: root/develop/development
diff options
context:
space:
mode:
authorMadLittleMods <MadLittleMods@users.noreply.github.com>2021-12-04 00:25:31 +0000
committerMadLittleMods <MadLittleMods@users.noreply.github.com>2021-12-04 00:25:31 +0000
commitbcc47063574620784bbad2b90b49095f1b6c8420 (patch)
treef10a19b34c1e6e877c0b0984c70300255079adda /develop/development
parentdeploy: 49e1356ee3d5d72929c91f778b3a231726c1413c (diff)
downloadsynapse-bcc47063574620784bbad2b90b49095f1b6c8420.tar.xz
deploy: 4eb77965cd016181d2111f37d93526e9bb0434f0
Diffstat (limited to 'develop/development')
-rw-r--r--develop/development/room-dag-concepts.html15
1 files changed, 7 insertions, 8 deletions
diff --git a/develop/development/room-dag-concepts.html b/develop/development/room-dag-concepts.html
index 19788fcf7e..fb8ab94a61 100644
--- a/develop/development/room-dag-concepts.html
+++ b/develop/development/room-dag-concepts.html
@@ -208,19 +208,18 @@ representation of the state of the room as others were seeing it at the time.</p
 <h2 id="forward-extremity"><a class="header" href="#forward-extremity">Forward extremity</a></h2>
 <p>Most-recent-in-time events in the DAG which are not referenced by any other events' <code>prev_events</code> yet.</p>
 <p>The forward extremities of a room are used as the <code>prev_events</code> when the next event is sent.</p>
-<h2 id="backwards-extremity"><a class="header" href="#backwards-extremity">Backwards extremity</a></h2>
+<h2 id="backward-extremity"><a class="header" href="#backward-extremity">Backward extremity</a></h2>
 <p>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.</p>
-<p>This is an event where we haven't fetched all of the <code>prev_events</code> for.</p>
-<p>Once we have fetched all of its <code>prev_events</code>, it's unmarked as a backwards
-extremity (although we may have formed new backwards extremities from the prev
-events during the backfilling process).</p>
+<code>prev_events</code> of the oldest-in-time events we have in the DAG. This gives a starting point when
+backfilling history.</p>
+<p>When we persist a non-outlier event, we clear it as a backward extremity and set
+all of its <code>prev_events</code> as the new backward extremities if they aren't already
+persisted in the <code>events</code> table.</p>
 <h2 id="outliers"><a class="header" href="#outliers">Outliers</a></h2>
 <p>We mark an event as an <code>outlier</code> when we haven't figured out the state for the
 room at that point in the DAG yet.</p>
 <p>We won't <em>necessarily</em> have the <code>prev_events</code> of an <code>outlier</code> in the database,
-but it's entirely possible that we <em>might</em>. The status of whether we have all of
-the <code>prev_events</code> is marked as a <a href="#backwards-extremity">backwards extremity</a>.</p>
+but it's entirely possible that we <em>might</em>.</p>
 <p>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
 state calculation ourself.</p>