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

epic(v2): beta readiness checklist #1033

Open
4 tasks
kocubinski opened this issue Dec 31, 2024 · 0 comments
Open
4 tasks

epic(v2): beta readiness checklist #1033

kocubinski opened this issue Dec 31, 2024 · 0 comments

Comments

@kocubinski
Copy link
Member

This issue summarizes tasks required for a beta quality release of iavl/v2.

  • NodePool usage. A sync pool was previously used but abandoned in order to support concurrent h and h+1 trees in memory, as this is a requirement of server/v2 and async CometBFT ABCI events. The GC is now doing extra work to clean up tree nodes, but it's not clear how much or the overall impact this has on performance. The sync pool should be re-implemented (evictions may be a bit tricky) and tested in benchmarks.
  • Revert needs to be (re) implemented. It should roll back the tree to a prior version, deleting all shards, nodes, and orphan logs greater than the version reverted to.
  • Working memory byte tracking. Memory usage should trigger a checkpoint in addition version interval. Most of the machinery is in place for this, but working set byte accounting broke at some point in recent refactors.
  • Warm Leaves more of a store/v2 feature, but WarmLeaves should be audited and it ought to be possible to call this prior to starting up the node. It simply warms up the memory map cache for the read connection.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant