Contextfulv0.23.0

Docs / Specification

contract store · 10-store.md · 11-snapshot.md · 12-time.md · 13-replica.md · 14-drain.md · 15-endpoint.md · 16-collect.md · 17-merge.md · 18-pull.md · guide · card

Bucket pulls

A pull downloads the bucket into the store, verifying each object, and writes each table pointer last.

pull

Downloading bucket files, verifying digests, advancing table pointers and restoring named generations.

lazy parts

A lazy store pulls metadata and fetches each data part and folded run manifest when a reader first needs it.

reland

A reland lands again the runs a refused pull names and moves the local pointer onto the bucket pointer’s snapshot.

A pull converges on the bucket manifest and writes each table pointer last.

Sequence diagram Sequence diagram. 3 participants, 6 messages. Participants: puller (P), manifest.json (M), bucket objects (B). loop up to 3 attempts: 1. puller → manifest.json: fetch manifest 2. puller → puller: diff entries against local digests par parallel downloads: 3. puller → bucket objects: fetch differing objects alt digest differs from entry: 4. bucket objects --> puller: SyncObjectDigestMismatch, object discarded else a named key disappears: 5. bucket objects --> puller: re-fetch manifest, retry the shortfall Note over puller: exhausted retries raise SyncPullDidNotConverge and write no pointer 6. puller → puller: write table pointers after their objects bucket loopup to 3 attempts parparallel downloads altdigest differs from entrya named key disappears pullerpuller manifest.jsonmanifest.json bucket objectsbucket objects exhausted retries raiseSyncPullDidNotConverge andwrite no pointer fetch manifest diff entries against localdigests fetch differing objects SyncObjectDigestMismatch,object discarded re-fetch manifest, retry theshortfall write table pointers after theirobjects

Scenarios