Skip to content

Restore persisted summaries through their catalog identity - #630

Merged
zzylol merged 3 commits into
mainfrom
fix/durable-summary-identity
Sep 11, 2026
Merged

zzylol merged 3 commits into
mainfrom
fix/durable-summary-identity

Conversation

@zzylol

@zzylol zzylol commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Persisted summary payloads lost their authoritative materialization identity on restart. Recovery supplied an unset policy fingerprint, which an installed SummaryCatalog correctly rejected; an existing restart test hid this by manually registering the SID again.

This persists shared SummaryDefinitionId and CatalogGeneration references in the normalized sidecar and restores the catalog binding before reading disk state. Catalog generations are cached with their immutable catalog and shared through Arc references; one generation is serialized once across SID bindings. Legacy and foreign-generation records remain unbound under an authoritative catalog.

Before this PR, durable bytes could exist while the installed query plan could not resolve their summary. After this PR, the production restart test ingests a sum of 15, drains and flushes it, terminates the backend, and gets the same warm result from a fresh process without another write or registration call.

Verification: all eight real production process tests pass (18.21 s), including the actual restart/readout; the durable store inventory/readout regression also passes after removing its manual re-registration. Normalized sidecar and provenance rejection tests are included; CI is pending. No latency or resource benefit is claimed.

The prerequisite #627 is merged. This covers authoritative restart identity, not the complete durable lifecycle: retirement/deletion tombstones and compatibility across different catalog generations need separate changes. The process proof uses exact Sum; newly added sketch families require their own codec/restart verification.

@zzylol
zzylol changed the base branch from fix/continuous-summary-completeness to main September 11, 2026 02:02
@zzylol
zzylol marked this pull request as ready for review September 11, 2026 02:17
@zzylol
zzylol merged commit 2c8eee6 into main Sep 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant