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

Upstream osmosis iavl changes #526

Closed
wants to merge 97 commits into from

Conversation

julienrbrt
Copy link
Member

This PR (please edit):

  • [ ]

ValarDragon and others added 30 commits November 21, 2021 18:34
Refactor Get() to work with new faster cache
… is deleted, fix all tests but random and with index
…not being cleared when latest version is saved
p0mvn and others added 26 commits February 11, 2022 08:58
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
…12)

* add leaf hash to fast node and unit test

* refactor get with index and get by index, fix migration in load version and lazy load version

* use Get in GetVersioned of mutable tree

* refactor non membership proof to use fast storage if available

* bench non-membership proof

* fix bench tests to work with the new changes

* add downgrade-reupgrade protection and unit test

* remove leaf hash from fast node

* resolve multithreading bug related to iterators not being closed

* clean up

* use correct tree in bench tests

* add cache to tree used to bench non membership proofs

* add benc tests for GetWithIndex and GetByIndex

* revert GetWithIndex and GetByIndex

* remove unused import

* unit test re-upgrade protection and fix small issues

* remove redundant setStorageVersion method

* fix bug with appending to live stage version to storage version and nit test

* add comment for setFastStorageVersionToBatch

* refactor and improve unit tests for reupgrade protection

* rename ndb's isFastStorageEnabled to hasUpgradedToFastStorage and add comments

* comment out new implementation for GetNonMembershipProof

* update comments in nodedb to reflect the difference between hasUpgradedToFastStorage and shouldForceFastStorageUpdate

* refactor nodedb tests

* downgrade tendermint to 0.34.14 - osmosis's latest cosmos sdk does not support 0.35.0

* fix bug where fast storage was not enabled when version 0 was attempted to be loaded

* implement unsaved fast iterator to be used in mutable tree (#16)
* expose isUpgradeable method on mutable tree and unit test

* go fmt
* force GC, no cache during migration, auto heap profile

* resolve a potential deadlock from racing between reset and stop

* fix small lint issue

* remove logs and pprof logic

* remove unused libraries

* add comment explaining the reason for RAM optimizations
…eight export (#33)

* Revert "sync access to fast node cache to avoid concurrent write fatal error (#23)"

This reverts commit 2a1daf4.

* return correct iterator in mutable tree
fix concurrent map panic when querying and committing concurrently
* fix data race related to VersionExists

* use regular lock instead of RW in mutable_tree.go
hardcode fast node cache size to 100,000
* implementing cache abstraction, unit test Add

* create benchmark for Add(), start working on benchmark for Remove()

* implement no duplicates in cache and unit test

* switch fast node cache to the new abstraction

* switch regular cache to the new abstraction

* fmt and add interface godoc

* rename receiver to c from nc

* const fastNodeCacheLimit

* move benchmarks to a separate file
* remove codecov step in ci

* rename github action
@p0mvn
Copy link
Member

p0mvn commented Jul 21, 2022

Hey @julienrbrt just wondering what is the plan with this?

I think I've upstreamed all changes so far. The last missing PR is: #506

@julienrbrt
Copy link
Member Author

Hey @julienrbrt just wondering what is the plan with this?

I think I've upstreamed all changes so far. The last missing PR is: #506

Not sure, I have just been asked to open that PR. @marbar3778 will know more :)

@tac0turtle
Copy link
Member

Ah sorry, I asked to open to see the diffs. but if its only that pr then lets get it in

@tac0turtle tac0turtle closed this Jul 22, 2022
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

Successfully merging this pull request may close these issues.

5 participants