Support incremental snapshots and run turbine while blockstore processing at validator boot#23852
Support incremental snapshots and run turbine while blockstore processing at validator boot#23852mvines merged 4 commits intosolana-labs:masterfrom
Conversation
7fcef98 to
1a77d0a
Compare
fb527bf to
1f55e5e
Compare
|
This probably implicitly fixes #23976 |
brooksprumo
left a comment
There was a problem hiding this comment.
I like it! Can I help in any way to get this merged?
I quickly rebased this guy again. There's just one (or two?) local-cluster tests that need to be massaged to be happy with this PR. I've run it on mainnet and it seems to work just fine. I'm still dealing with spring break kids for another week, I was going to finally get this thing landed when I return the week of the 11th but if you're interested in picking this up in the meantime please go for it! |
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
7274b08 to
8566a30
Compare
|
FYI this PR should've fixed y the intermittent failed for the snapshot local cluster test: #24440 Could also be backported to make your PR here easier. |
7e79be7 to
463f8b3
Compare
Ah, thanks. I'll remove the commit in here related to that test then and see if we're still green. The other local-cluster test failures should be resolved now as well. |
bbd62a8 to
66f118c
Compare
…nterval_at_startup to be less flaky
| } | ||
| } | ||
|
|
||
| impl<'a> From<ProcessBlockStore<'a>> for Tower { |
The blockstore processor module that reads the ledger at validator boot has its own full snapshot handling, and no support for incremental snapshots.
Rather than plumbing incremental snapshots, rip out blockstore processor's snapshot handling entirely and start the real snapshot packager earlier in the boot chain.
Additionally, start gossip/turbine before blockstore processing so that new blocks can be ingested into rocksdb as early as possible during validator startup