Skip to content

test(state-sync): early kickout coverage for synced nodes#15983

Draft
stedfn wants to merge 3 commits into
masterfrom
stedfn/early-kickout-sync-tests
Draft

test(state-sync): early kickout coverage for synced nodes#15983
stedfn wants to merge 3 commits into
masterfrom
stedfn/early-kickout-sync-tests

Conversation

@stedfn

@stedfn stedfn commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Nightly-gated integration coverage that synced nodes do not stall under EarlyKickout.

EarlyKickout resolves chunk producers from a grandparent anchor backed by DBCol::ChunkProducers. A same-epoch anchor with a missing row returns ChunkProducerNotInDB and aborts chunk-signature / witness verification. These tests check that a node joining via the sync pipeline holds the rows its catch-up reads depend on.

  • test_early_kickout_far_horizon_observer: full epoch -> header -> state -> block sync of an observer; probes that the same-epoch grandparent-anchor row the consensus read uses is present and that the read agrees with the row.
  • test_early_kickout_state_sync_shuffling: a shuffling validator state-syncs a newly assigned shard and keeps producing; asserts state sync actually ran and that the witness path records no miss_db_entry.

Green proves syncs are safe because header and block processing seed the rows. The missing-row path is unreachable on master today: header sync seeds the contiguous range and DBCol::ChunkProducers is not garbage collected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.27%. Comparing base (b8a041c) to head (164eaa9).
⚠️ Report is 14 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #15983      +/-   ##
==========================================
+ Coverage   73.19%   73.27%   +0.07%     
==========================================
  Files         856      857       +1     
  Lines      188394   188902     +508     
  Branches   188394   188902     +508     
==========================================
+ Hits       137904   138417     +513     
- Misses      46070    46071       +1     
+ Partials     4420     4414       -6     
Flag Coverage Δ
pytests-nightly 1.22% <ø> (-0.01%) ⬇️
unittests 69.91% <ø> (+0.05%) ⬆️
unittests-nightly 69.92% <ø> (+0.06%) ⬆️
unittests-spice 65.54% <ø> (+0.08%) ⬆️

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

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

stedfn and others added 2 commits July 13, 2026 09:27
Drop a roadmap clause from the module doc; keep the technical meaning
(a red run is a real gap the tests guard against). Comments only, no code change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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