Only serialize rooted append vecs#7281
Conversation
99c62d6 to
0031882
Compare
184f56e to
d379ab2
Compare
|
@ryoqun this is just kind of a guess, let me look at your snapshot file, those accounts should be present in the older fork as well for this to make sense. |
d379ab2 to
3e25a8d
Compare
Codecov Report
@@ Coverage Diff @@
## master #7281 +/- ##
========================================
- Coverage 73.2% 68.6% -4.6%
========================================
Files 240 237 -3
Lines 50234 52368 +2134
========================================
- Hits 36800 35965 -835
- Misses 13434 16403 +2969 |
3e25a8d to
9463125
Compare
There was a problem hiding this comment.
Just viewed the code. Really thanks for proposing PRs quickly once after I find the bugs!! The impl code looks nice for now.
Only add rooted append-vecs to the snapshot, for now skip any failures when we load the snapshot if an appendvec is in the index but not present as a file.
As you said, this might not be elegant, but it'll work. Maybe put empty files in place for skipped AppendVecs and skip empty files when ingesting snapshot. That might be enough. We'd want to land this rather quickly. :)
I agree, I think we should just land this and then the cleanup could be a follow-up PR. |
(cherry picked from commit cfc21e1)
|
@sakridge Thanks for merging and backporting! I'll build this locally and will run against tds to see snapshot errors disappear really. :) |
Thanks! I'm crossing my fingers for good luck :) |
@sakridge Finally, this is now addressed at #10580. (FYI: @svenski123) |
Problem
Slots which are not rooted could end up in a snapshot and cause account mismatch issues since we mark each present slot as rooted when we ingest the snapshot.
Summary of Changes
Only add rooted append-vecs to the snapshot, for now skip any failures when we load the snapshot if an appendvec is in the index but not present as a file.
Fixes #7244