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

Add redundant writes to Hamt and Amt to interop #731

Merged
merged 12 commits into from
Oct 8, 2020

Conversation

austinabell
Copy link
Contributor

@austinabell austinabell commented Oct 6, 2020

Summary of changes
Changes introduced in this pull request:

  • Couldn't not put this functionality behind a feature :)

Edit: I changed this to only use the feature in actors. I thought about it more and the only time the redundant writes is needed is within the VM execution (and excluding state tree reads/writes since those aren't charged) so this barrier can safely be set here I am almost certain.

The reason this will not cause any issues is because the feature changes what the (H)amt will functionally do and what is persisted, but the data will be the same and the root Cid will always match. The benefit to doing this way is we don't have to deal with the performance regression outside of VM where the blockstore reads/writes diff cannot cause a consensus issue.

Reference issue to close (if applicable)

Closes #729

Other information and links

@austinabell austinabell merged commit a75b47a into main Oct 8, 2020
@austinabell austinabell deleted the austin/ipld/bsregressions branch October 8, 2020 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Interop Interop with Lotus/specs-actors and testing Status: Needs Review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add redundant writes to Amt and Hamt to match go impl
3 participants