Skip to content

Propagate history repair failures before publishing recovered state - #2523

Open
a-shannon wants to merge 3 commits into
ergoplatform:masterfrom
a-shannon:fix/history-repair-results
Open

a-shannon wants to merge 3 commits into
ergoplatform:masterfrom
a-shannon:fix/history-repair-results

Conversation

@a-shannon

@a-shannon a-shannon commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

History repair now propagates the first removal failure to startup and runtime health reporting. Required block sections are removed before their header so failed section removal leaves the information needed for retry. The continuation-height index is removed only after all its headers finish.

Startup closes the acquired history on repair failure and returns the original error before publishing it. Health reporting distinguishes repair unnecessary, completed and failed.

Review and integration

This branch starts with shared test support #2535, followed by two focused commits:

  1. Storage result propagation and three direct storage contracts.
  2. History repair, startup and health consumers.

Review the storage and history changes without the shared fixtures. The narrow storage prerequisite has been extracted from #2424; this PR no longer depends on that PR's snapshot or wallet feature. The three history caller files are unchanged from the previous correction. Existing invalid-header lookup and lower store-close semantics remain outside this change.

Validation: all 38 tests in HistoryStorageRemoveSpec and HistoryRepairSpec pass together; these results are reused because the tested storage and caller files are unchanged after the rebase. Direct storage tests invoke actual HistoryStorage.remove for success and each store's failure. The previous-head run had seven of eight successful checks; integration passed 21 of 22 tests and timed out in DeepRollBackSpec, with the cause unproven. This is historical evidence; current-head CI has eight of eight successful checks. Current-head CI and integration tracker.

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