Backport release/v6.6: [codex] Harden multiversion iterator validation#3672
Backport release/v6.6: [codex] Harden multiversion iterator validation#3672seidroid[bot] wants to merge 1 commit into
release/v6.6: [codex] Harden multiversion iterator validation#3672Conversation
## Summary - Add a regression test for stale validation iterator keys after a lower-index transaction is re-executed with a smaller writeset. - Make validation iterators ignore removed multiversion entries without treating real deletes as removed keys. - Harden iterator validation so recovered panics become validation failures with diagnostic logging, and abort notification cannot leave an ownerless or blocked validation goroutine. ## Root Cause `validationIterator.Value()` assumed every captured key still had a multiversion value. When a lower-index transaction was re-executed and stopped writing one of those keys, the stale key could remain in the validation iterator's key list while `GetLatestBeforeIndex` returned nil, leading to a nil pointer dereference. ## Validation - `go test ./sei-cosmos/store/multiversion ./sei-cosmos/tasks ./giga/deps/tasks -count=1` - `git diff --check` Co-authored-by: Masih H. Derkani <m@derkani.org> (cherry picked from commit cbb11cc)
PR SummaryMedium Risk Overview The validation iterator now skips keys that no longer have a value at replay time ( Iterator validation in Adds regression tests for lower-index writeset rewrites during validation, injected iterator panics, and multiple estimate aborts completing within a timeout. Reviewed by Cursor Bugbot for commit 609343d. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## release/v6.6 #3672 +/- ##
================================================
- Coverage 58.88% 58.02% -0.87%
================================================
Files 2225 2151 -74
Lines 183482 174995 -8487
================================================
- Hits 108041 101533 -6508
+ Misses 65733 64451 -1282
+ Partials 9708 9011 -697
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Backport of #3656 to
release/v6.6.