Skip to content

STR-3701: Reconcile stale checkpoint artifacts on startup#1926

Merged
storopoli merged 4 commits into
mainfrom
feat/stale-checkpoint-bye-bye
Jun 8, 2026
Merged

STR-3701: Reconcile stale checkpoint artifacts on startup#1926
storopoli merged 4 commits into
mainfrom
feat/stale-checkpoint-bye-bye

Conversation

@voidash
Copy link
Copy Markdown
Contributor

@voidash voidash commented Jun 2, 2026

Summary

  • Reconcile local checkpoint artifacts against ASM verified checkpoint tip during strata startup
  • Delete unaccepted checkpoint payloads, checkpoint proofs, and checkpoint prover tasks before checkpoint/prover services start
  • Expose prover task deletion through the storage manager

Jira: STR-3701

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 2, 2026

Commit: 3c67176

SP1 Execution Results

program cycles gas
EVM EE Chunk 824,732 969,394
EVM EE Account 404,056 498,593
Checkpoint 2,601,550 3,007,194

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 2, 2026

Codecov Report

❌ Patch coverage is 87.42138% with 20 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.41%. Comparing base (b5d34b8) to head (97d94bf).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
bin/strata/src/checkpoint_reconcile.rs 91.01% 8 Missing ⚠️
crates/storage/src/managers/ol_checkpoint.rs 46.66% 8 Missing ⚠️
crates/db/store-sled/src/ol_checkpoint/db.rs 93.75% 2 Missing ⚠️
crates/ol/checkpoint/src/service.rs 66.66% 1 Missing ⚠️
crates/ol/checkpoint/src/state.rs 80.00% 1 Missing ⚠️
@@            Coverage Diff             @@
##             main    #1926      +/-   ##
==========================================
- Coverage   84.42%   84.41%   -0.01%     
==========================================
  Files         637      638       +1     
  Lines       76805    76963     +158     
==========================================
+ Hits        64840    64971     +131     
- Misses      11965    11992      +27     
Flag Coverage Δ
functional 66.58% <86.79%> (+0.07%) ⬆️
unit 69.42% <19.59%> (-0.10%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
bin/strata/src/main.rs 89.04% <ø> (ø)
bin/strata/src/prover/mod.rs 78.41% <100.00%> (+1.67%) ⬆️
bin/strata/src/services.rs 98.23% <100.00%> (+<0.01%) ⬆️
crates/storage/src/managers/prover_task.rs 78.12% <100.00%> (+1.07%) ⬆️
crates/ol/checkpoint/src/service.rs 73.07% <66.66%> (-0.84%) ⬇️
crates/ol/checkpoint/src/state.rs 90.10% <80.00%> (-0.29%) ⬇️
crates/db/store-sled/src/ol_checkpoint/db.rs 85.36% <93.75%> (+0.70%) ⬆️
bin/strata/src/checkpoint_reconcile.rs 91.01% <91.01%> (ø)
crates/storage/src/managers/ol_checkpoint.rs 53.23% <46.66%> (-0.29%) ⬇️

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@voidash voidash marked this pull request as ready for review June 2, 2026 10:26
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 461e1cb845

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread bin/strata/src/checkpoint_reconcile.rs Outdated
Comment thread bin/strata/src/services.rs
voidash added 4 commits June 5, 2026 16:29
Startup reconciliation deletes unaccepted checkpoint payloads, proofs,
and prover tasks, but nothing re-drove their rebuild on a restart where
no new terminal epoch arrived: the epoch-summary watch channel is
re-created as `None` and never replays persisted summaries, so the
checkpoint worker and prover runner both stayed idle.

Drive a one-shot catch-up in the checkpoint worker's `on_launch` to
rebuild payloads for already-summarized epochs, and seed the prover
runner's `latest_epoch` from `get_last_summarized_epoch` so cleared
proofs are regenerated without waiting for a fresh watch notification.
main renamed `AsmStateManager::fetch_most_recent_state` to explicit
`_blocking`/`_async` variants; use the blocking accessor in checkpoint
reconciliation so the branch builds against current main.
@voidash voidash force-pushed the feat/stale-checkpoint-bye-bye branch from 60f15b9 to 97d94bf Compare June 5, 2026 10:49
@voidash
Copy link
Copy Markdown
Contributor Author

voidash commented Jun 8, 2026

All review threads are resolved and CI is green on current head 97d94bf. Could you re-review when you get a chance? @storopoli

@voidash voidash requested a review from storopoli June 8, 2026 08:37
Copy link
Copy Markdown
Member

@storopoli storopoli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 97d94bf

@storopoli storopoli added this pull request to the merge queue Jun 8, 2026
Merged via the queue into main with commit 27973f3 Jun 8, 2026
32 checks passed
@storopoli storopoli deleted the feat/stale-checkpoint-bye-bye branch June 8, 2026 14:19
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.

3 participants