RPC_process opens the store
This MR make the store (block store) able to be opened in RO while a RW instance is opened. To do so, it implements Store.sync function that aims to update the RO instance with the latest store state. It allows the RPC_process to open the store locally, so that, all the chain and blocks RPCs (list to be shared) are non blocking.
The full context and motivations regarding this MR can be found in %Non-Blocking RPCs and %(2024Q2) - Layer 1 - Public RPC endpoint supporting average 1k RPS.
Splitting this MR
Merged dependencies
-
!11310 (merged) -
!11379 (merged) -
!11386 -> !13160 (merged) (the original one got stuck at merging) -
!13057 (merged) - clean-up MR
-
-
!12829 (merged) -
!12830 (merged) -
!12869 (merged) -
!12974 (merged) -
!12975 (merged) -
!12998 (closed) -
!13041 (merged) -
!13042 (merged) -
!13043 (merged)
Dependencies to merge
-
None …
Manually testing the MR
Green CI. Note that all the pipeline before !9490 (comment 1920634033) are running with commits with the --external-rpc-add flag enabled for all tests. After that handle, the feature is not there and thus not tested any more. If one wants to test it, he should the branch vicall@reload-store-enabled-with-tests and/or cherry pick the WIP commits enabling the feature.
Running all the tests with the feature will be enabled through a daily/weekly scheduled pipeline so that the non default feature will be tested regularly.
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR