Closed dylanlott closed 11 months ago
First off, amazing work π I love it <3
To clarify: this PR does not contain the rollbacks? Only the savepoints?
This PR implements the rollback functionality for block application in utility/unit_of_work/module.go
.
Left a few comments my only major one is around the
save
function, I think we should do the importing during theload
method as this will be ran less frequently π€πΌ
I'm going to politely push back on this for now, with the caveat that I added an OPTIMIZE comment, but I do think this is a premature optimization with unclear benefits when weighed against the added Rollback
function complexity. This should likely be examined in an ADR that more clearly discusses the trade-offs.
@dylanlott Please add me as a reviewer if/when you need additional feedback on this.
I'm going to politely push back on this for now, with the caveat that I added an OPTIMIZE comment, but I do think this is a premature optimization with unclear benefits when weighed against the added
Rollback
function complexity. This should likely be examined in an ADR that more clearly discusses the trade-offs.
I see your point, I missed the Rollback function in Trees, I got confused between it and the load world state function you had previously discussed with me offline. I think you are right that at a later date we can look into where the imports should go. I will rereview now and approve these as appart from that everything else was addressed ππΌ
Description
Adds atomic savepoint and rollback creation to the TreeStore
Issue
Relates to #562
Type of change
Please mark the relevant option(s):
List of changes
Testing
make develop_test
; if any code changes were mademake test_e2e
on k8s LocalNet; if any code changes were madee2e-devnet-test
passes tests on DevNet; if any code was changedRequired Checklist
godoc
format comments on touched members (see: tip.golang.org/doc/comment)If Applicable Checklist
shared/docs/*
if I updatedshared/*
README(s)