Skip to content
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

7. feat(state): add a read-only state service stub #3835

Merged
merged 12 commits into from
Mar 11, 2022

Conversation

teor2345
Copy link
Contributor

@teor2345 teor2345 commented Mar 10, 2022

Motivation

In #3745, we want to add a read-only, cloneable state service, with no buffer or queue.

Designs

Share access to the best non-finalized chain and the finalized state.

Solution

  • Create a ReadStateService struct
    • Add a stub service implementation
    • Add support methods in the finalized and non-finalized state
  • Make RPC accept a buffered state or a read-only state
  • Doc comment updates

Review

There is a lot of code changed in this PR series, it would be good to get it merged soon to avoid conflicts.

This doesn't do anything yet, the next few PRs will implement the read-only state requests, and add tests.

Reviewer Checklist

  • Code implements Specs and Designs

Follow Up Work

  • implement block requests
  • use in the RPC implementation
  • test performance
  • add tests

@teor2345 teor2345 added C-enhancement Category: This is an improvement P-Medium ⚡ I-slow Problems with performance or responsiveness A-rpc Area: Remote Procedure Call interfaces A-state Area: State / database changes labels Mar 10, 2022
@teor2345 teor2345 self-assigned this Mar 10, 2022
@teor2345 teor2345 requested review from a team as code owners March 10, 2022 08:23
@teor2345 teor2345 requested review from oxarbitrage and removed request for a team March 10, 2022 08:23
@teor2345 teor2345 changed the title feat(state): add a read-only state service stub 7. feat(state): add a read-only state service stub Mar 10, 2022
@codecov
Copy link

codecov bot commented Mar 10, 2022

Codecov Report

Merging #3835 (fe60415) into main (f39ac48) will decrease coverage by 0.16%.
The diff coverage is 65.82%.

@@            Coverage Diff             @@
##             main    #3835      +/-   ##
==========================================
- Coverage   78.82%   78.65%   -0.17%     
==========================================
  Files         293      293              
  Lines       33690    33737      +47     
==========================================
- Hits        26555    26535      -20     
- Misses       7135     7202      +67     

@teor2345 teor2345 force-pushed the read-only-state-service branch from 74a4c1b to 4bf96e9 Compare March 11, 2022 03:52
@teor2345 teor2345 requested review from a team as code owners March 11, 2022 03:52
@teor2345 teor2345 requested review from gustavovalverde and upbqdn and removed request for a team March 11, 2022 03:52
@teor2345 teor2345 changed the base branch from read-only-state-base to main March 11, 2022 04:33
@teor2345 teor2345 force-pushed the read-only-state-service branch from 8d5ab22 to 56a537a Compare March 11, 2022 07:49
Copy link
Contributor

@oxarbitrage oxarbitrage left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, lets merge.

@oxarbitrage oxarbitrage merged commit 9ad47d1 into main Mar 11, 2022
@oxarbitrage oxarbitrage deleted the read-only-state-service branch March 11, 2022 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-rpc Area: Remote Procedure Call interfaces A-state Area: State / database changes C-enhancement Category: This is an improvement I-slow Problems with performance or responsiveness
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants