-
Notifications
You must be signed in to change notification settings - Fork 120
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
Store only the first tree state in each series of identical tree states #4784
Comments
Arc
s in the non-finalized state
This is important to do eventually because large blocks take up more space on disk. But we don't need to do it any time soon. |
Performance and disk space usage are not a priority for Zebra right now. |
This is required for the note commitment tree scanning in #6642 to have reasonable performance. |
Note from the engineering sync: This seems risky to do between the last release candidate and the first stable release. There is no specific deadline for this change. |
The database read part of this ticket is implemented in PR #6813. Everything else still needs to be implemented:
PR #6813 introduces state minor versions and the idea of a state format update task. But I didn't create the actual task in that PR. I'm happy to help out with that change, currently it's just a vague idea of a design, and a bunch of TODOs. |
@upbqdn lets catch up some time and work out how to make these database changes without breaking compatibility? |
Please add your planning poker estimate with Zenhub @arya2 |
Here's a draft checklist for state format changes, let me know if it works for you!
See the upgrade design docs for more details. The links won't work until PR #7261 merges. |
Some database compatibility issues have come up in the disk format change part of this ticket, so I'd like to merge them after the 1.1.0 release. This impacts some parts of PR #7266. (But not the compatibility fixes!) @mpguerra I wasn't sure how to set up those dependencies in ZenHub, did you want to split this ticket into permanent database format changes and in-memory changes? (The memory changes are merged and fine to go in the release.) |
Or we could just remember not to merge PR #7266 before the release. |
I blocked #7266 on the v1.1.0 release, however that won't physically stop it from merging so I would just add the |
Did this close by mistake? Or are all the PRs for this issue done already? |
This shouldn't have been closed. The only reason I can think of might be this line in the PR description:
Which seems odd. |
I think it's because I linked a PR with this issue in the Github interface and when that PR close this automatically closed also |
I haven't used that feature yet. |
Storing only the first tree state in each identical series of tree states saves memory, and makes
Chain
cloning cheaper.Possible Implementation
We can access the deduped trees using:
Non-finalized state:
Finalized state (reading is implemented, writing new blocks and updating cached blocks is not):
Performance
This needs a full sync performance test:
The text was updated successfully, but these errors were encountered: