-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Store: Support Direct SS Writes #18467
Comments
what about a non consensus set, or MetadataSet that is documented to be outside of consensus? apps will be able to get the data per usual but there isnt a need to expose the version database interface to everything? |
Yes, this is what I'm alluding to. Allowing SS ( |
ah, it looked like you were exposing the version database at the root level, which is why it was confusing. I dont think we should expose that level of detail, feels like a code smell |
Yes, of course. What I'd like is for the ability for modules to get direct access to the SS backend so they can call |
is this still blocked? |
I would say it's blocked until we have a complete picture of server/v2 store/v2 integration. Is that complete? If so, we can discuss the following:
|
this will be part of runtime/v2 |
Once the design is settled, please let me know so I can document it in the store/v2 docs. |
should we make a service like we do kvstoreServices? |
Yes, that's what I had envisioned more or less. So a module would have as input ncStore := env.GetNonConsensusStore(...) // I presume this is already scoped to the module's store key???
ncStore.Set(key, val) One thing I've realizing is that we may need to handle rollbacks. E.g. if a module writes to non-consensus state during say a tx, but that tx later fails, should we roll it back? |
ref: #19721 |
Context
In the original store v2 ADR, we proposed functionality for modules to have the ability to directly write and read state that is outside of commitment, e.g. CW metadata or large blobs of data.
Proposal
We can easily support this by adding two APIs to the existing types:
The text was updated successfully, but these errors were encountered: