Closed ValarDragon closed 1 year ago
Super stoked for this @ValarDragon. LMK how I can help.
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.
What is the purpose of the change
Start CacheKV store v2, that separates responsibilities, cleans up code significantly.
Should eliminate dead lock risks, and significantly improve performance.
TY to @dangush for helpful discussions around spec leading to this. (Feel free to help contribute with this!)
The architecture of this is based on separating the roles of whats going on.
We acknowledge that the cache kv store has two responsibilities, and explicitly make two different internal structs and compose them together. Responsibilities
This lets us re-use and improve each component independently, keeps each component pretty simple, and advance the clear API breaking roadmaps for improvement for each. (And joint performance measurement / improvement remains pretty simple)
Current status
Base write buffer written, need to add iterator.
Barely any docs
Brief Changelog
(for example:)
Testing and Verifying
(Please pick one of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)
Documentation and Release Note
Unreleased
section inCHANGELOG.md
? (yes / no)x/<module>/spec/
) / Osmosis docs repo / not documented)