Skip to main content

Module update_state

Module update_state 

Source
Expand description

Durable List/Fetch handoff for Insert/Delete updates.

Every task has a Fetch route and a dispatch sequence number. The Fetch state table is distributed by route and ordered by sequence number within a route, so one Fetch actor applies the tasks of a route in dispatch order, also across rescaling. A phase that fits in one small page goes to the shared ordered route and needs no completion fence: later ordered phases queue behind it. Other phases fan out across routes. Before a fan-out page, and after the last page of a fan-out phase, List confirms that the Fetch queue is empty at a committed epoch covering the earlier dispatch.

Structs§

IcebergUpdateAssignment
IcebergUpdateFence
Outstanding tasks, confirmed by an empty committed Fetch queue at epoch or later. The queue never holds ordered and fan-out tasks at once, so emptiness covers both.
IcebergUpdateFetchState
IcebergUpdateListState

Enums§

IcebergUpdateFenceKind
Which outstanding tasks a dispatch must wait for, recorded at the epoch that emits a page.