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 should not require eager mounting of all store keys #20586

Open
kocubinski opened this issue Jun 6, 2024 · 0 comments
Open

feat: store/v2 should not require eager mounting of all store keys #20586

kocubinski opened this issue Jun 6, 2024 · 0 comments
Labels

Comments

@kocubinski
Copy link
Member

Previously in store/v1, and now in store/v2, a list of all potential store keys (now called actors) must be provided at initialization of store in the application lifecycle. See the handling of opts.StoreKeys in store/v2/root/factory.go. In reality this is an implementation detail of IAVL and nothing else, in IAVL one store key corresponds to one state root.

We propose that store/v2 should not require all possible actors to be defined at construction, and should support the creation of new actors at runtime. In order to support this, a small piece of code should wrap IAVL KV operations to provide special handling of keys which are prefixed with an eagerly supplied (only the case of IAVL) list of prefixes. @testinginprod drafted a poc of an approach for this previously, along with some benchmarks and ideas for prefix -> byte slice matching.

@github-actions github-actions bot added the needs-triage Issue that needs to be triaged label Jun 6, 2024
@tac0turtle tac0turtle added C:Store and removed needs-triage Issue that needs to be triaged labels Jun 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: 📋 Backlog
Development

No branches or pull requests

2 participants