Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Prune iavlstore version using rootstore version(block height) #2119

Closed
chengwenxi opened this issue Dec 3, 2019 · 1 comment
Closed

Prune iavlstore version using rootstore version(block height) #2119

chengwenxi opened this issue Dec 3, 2019 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@chengwenxi
Copy link
Contributor

Summary

We pruned the app state(each iavlstore tree for each module) version, reserving only the following versions:

  • First version
  • Recent 100 versions
  • Per 10000 versions

The version increased with each commit, so if we load the store on InitChainer, the version is block height, but if we load the store on a software upgrade height, the version is block_height - upgrade_height. But now we pruned iavlstore version using itself version, so each iavlstore snapshot height(Per 10000 versions) may be different if you loaded each iavlstore on different block height.

So, we can't reset app state to a snapshot height if there are some new modules are added on software upgrade height(height%10000!=0).

Proposal

Prune ivalstore version using rootstore version(block height).

@shilei-wang
Copy link
Contributor

confirm fixed

@chengwenxi chengwenxi changed the title Prune ivalstore version using rootstore version(block height) Prune iavlstore version using rootstore version(block height) Jan 9, 2020
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants