-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
seg: speed up rebuildSegments (Alternative) #12245
Conversation
i'm on small vacation - will review next week. thank you. |
This PR breaks 353 tests on RPC interface, please check! See details on "QA - RPC Integration Tests" |
checking. I try to start a rpc daemon on my machine and call it to reproduce. Is this the right way? |
I am very sorry Steve, I missed this message, I'll fix it now. If you look at the failed test log here and open the "Run RPC integration tests" section you will see the failed calls. For example see:
The rpc tests we run are here: https://github.com/erigontech/rpc-tests/tree/main/integration/mainnet If we go to the To reproduce it you just need to use CURL to Erigon with a request like this $ curl --location 'http://localhost:8545' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0",
"method":"erigon_getBlockByTimestamp",
"params":["3272722465", false],
"id":1
},' There is no need to use external rpcdaemon, you can use Erigon provided that you enabled proper JSON RPC interfaces on command line, with for example According to the test you should expect a response like this:
|
Thank you so much! |
Unfortunately these tests require a db close to the chain tip and there is no testnet version |
Hi @AskAlexSharov
Then I cannot find Any corner cases I miss? I'm reviewing the lifecycle of snapshots and trying to improve rebuild and avoid race, hope not to miss any cases before drafting a design. |
Here is 3 features:
Corner case:
In my head:
|
One nice to have thing is:
|
Seems we have marker of download completeness: #12332 |
Fantastic! You're right! i hadn't figured out this part of logic before. |
closing in favor of #12332 |
closing in favor of #12332 |
This is alternative to #12114
Add a subdir "/snapshots/commitment" to store commitment files for .seg/.idx files that are fully downloaded.
In this way we know if downloading is finished and if it's ok to open downloaded files.