Implementing an Account Storage Reader to stream Account Storages during snapshots and testing#5950
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #5950 +/- ##
========================================
Coverage 82.9% 82.9%
========================================
Files 842 843 +1
Lines 377804 378161 +357
========================================
+ Hits 313223 313637 +414
+ Misses 64581 64524 -57 🚀 New features to boost your workflow:
|
6495364 to
0a1b346
Compare
brooksprumo
left a comment
There was a problem hiding this comment.
Now that this PR has dead accounts stuff in it, the PR is getting quite involved. It may actually make sense to do the AccountStorageReader on its own, without any dead accounts stuff. (I haven't tried implementing that, so not sure exactly what it looks like though.)
…ing snapshots and testing
- Added Unit Tests for New Module - Moved dead accounts filtering to accounts_db - Removed unwraps
Cleaned up various uneeded references
f80903e to
6b049cb
Compare
Fixed reopen test hook to use new reference
5bc04a6 to
dad87e7
Compare
I had missed this comment at the time. |
Modifying test flow to increase coverage
brooksprumo
left a comment
There was a problem hiding this comment.
I need to do another pass over the tests, but I think this looks good.
Co-authored-by: Brooks <brooks@prumo.org>
|
Also, how's the perf of this code? Does it impact snapshot at all, given that we aren't populating the obsolete accounts yet? |
I'll get a re-run today with no dead accounts. Previously when I tested it it had no impact on perf without dead accounts, and actually improved things slightly with lots of dead accounts due to saving less data. |
Using randomly generated seeds for testing. Logging seeds for reproduciability Updated test to ensure last account being invalidated is always one of the test scenarios
Reconfirmed, no performance degredation |
Co-authored-by: Brooks <brooks@prumo.org>
…ing snapshots and testing (anza-xyz#5950) * Implementing an Account Storage Reader to stream Account Storages during snapshots and testing This will be used with the obsolete account feature to remove obsolete entires during snapshots.


Problem
Account archive internals are exposed to the runtime library
Dead accounts need to be filtered when being written to storage during snapshot.
Summary of Changes
Implemented an account storage reader to convert an account storage into a class that supports the trait read.
Modified paths that stream account storages to use the new type.
Fixes #