Skip to content

Conversation

@yihuang
Copy link

@yihuang yihuang commented Mar 29, 2024

Solution:

  • introduce copy-on-write btree based cache store, change internal implementation first, figure out the API changes in follow up PRs.
  • preparer to unify the cache stores with ethermint, which need the copy-on-write cache stores to support precompiles.

temp

Description

Closes: #XXXX


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

@yihuang yihuang requested a review from mmsqe March 29, 2024 08:14
Solution:
- introduce copy-on-write btree based cache store

temp

changelog

rename

Update store/cachekv/store.go

Signed-off-by: yihuang <huang@crypto.com>
@yihuang yihuang force-pushed the btree-cache-store branch from 012ae21 to e2eaba2 Compare March 29, 2024 16:23
@yihuang yihuang enabled auto-merge (squash) March 29, 2024 16:23
@yihuang yihuang merged commit 2484db0 into crypto-org-chain:release/v0.50.x Mar 29, 2024
maxim-inj added a commit to InjectiveLabs/cosmos-sdk that referenced this pull request May 4, 2025
* [cosmos#207](crypto-org-chain#207) Remove api CacheWrapWithTrace.
* [cosmos#205](crypto-org-chain#205) Support object store.
* [cosmos#240](crypto-org-chain#240) Split methods from `MultiStore` into specialized `RootMultiStore`, keep `MultiStore` generic.
* [cosmos#241](crypto-org-chain#241) Refactor the cache store to be btree backed, prepare to support copy-on-write atomic branching.
* [cosmos#242](crypto-org-chain#242) Init cache on cache lazily, save memory allocations.
* [cosmos#243](crypto-org-chain#243) Support `RunAtomic` API to use new CoW cache store.
* [cosmos#244](crypto-org-chain#244) Add `Discard` method to CacheWrap to discard the write buffer.
* [cosmos#258](crypto-org-chain#258) Add `NewFromParent` API to cachemulti store to create a new store from block-stm multiversion data structure.
* [cosmos#1043](crypto-org-chain#1043) Add back CacheWrapWithTrace api.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants