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

feat(store/v2): Support Non-Consensus Writes to SS #18938

Closed
wants to merge 3 commits into from
Closed

Conversation

alexanderbez
Copy link
Contributor

@alexanderbez alexanderbez commented Jan 3, 2024

Description

Closes: #18467

Changelog

  • Some general cleanup/linting
  • Support non-consensus writes to SS, while ensuring such data will be synced to SS during State Sync

TODO:

  • Provide API(s) that allow R/W to SS from a module or any caller with access to the RootStore
  • Ensure we handle State Sync extensions s.t. the data can be restored to SS during State Sync
  • Tests

Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • included the correct type prefix in the PR title
  • confirmed ! in the type prefix if API or client breaking change
  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • reviewed "Files changed" and left comments if necessary
  • included the necessary unit and integration tests
  • added a changelog entry to CHANGELOG.md
  • updated the relevant documentation or specification, including comments for documenting Go code
  • confirmed all CI checks have passed

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic, API design and naming, documentation is accurate, tests and test coverage

@alexanderbez alexanderbez added the S:blocked Status: Blocked label Jan 18, 2024
@alexanderbez
Copy link
Contributor Author

Keeping this as blocked until there's better uniformity and a clearer picture between store/v2 and server/v2.

Copy link
Contributor

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. Thank you for your contributions.

@github-actions github-actions bot added the Stale label Feb 18, 2024
@itsdevbear
Copy link
Contributor

Hallelujah

@github-actions github-actions bot removed the Stale label Feb 20, 2024
@tac0turtle
Copy link
Member

is this still blocked?

@alexanderbez
Copy link
Contributor Author

alexanderbez commented Feb 20, 2024

So after giving this some more careful thought, I've come to the conclusion we do not need anything extra here. Here's my rationale:

The data SS stores, by definition, is already non-consensus. Thus, we don't need to expose any extra or special APIs to store non-consensus data.

So there are two things we need to ensure:

  1. The ability for modules to get direct R/W access to VersionedDatabase. This will probably be from Environment?
  2. State sync snapshots will be created off of SC data, which means new nodes won't have non-consensus data. So we need document that modules that explicitly store non-consensus data, must implement and register ExtensionSnapshotter

re (2), I will document that in #19502

@tac0turtle tac0turtle deleted the bez/18467 branch February 21, 2024 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C:Store S:blocked Status: Blocked
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Store: Support Direct SS Writes
3 participants