-
Notifications
You must be signed in to change notification settings - Fork 33
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
[WIP][Persistence][Core][Savepoints/Rollbacks] Implement KISS SavePoints - Serialize WorldState from Persistence - JSON POC - (Issue #327) #645
Conversation
…point-serialize-worldstate-base563 Signed-off-by: Alessandro De Blasis <alex@deblasis.net>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing changelog in module: consensus/
Missing changelog in module: persistence/
Missing changelog in module: shared/
Changelog verification failed. See error messages for more detail.
Please update the relevant CHANGELOG.md files and ensure they follow the correct format.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing changelog in module: persistence/
Missing changelog in module: shared/
Changelog verification failed. See error messages for more detail.
Please update the relevant CHANGELOG.md files and ensure they follow the correct format.
Closing out the draft PR as it'll be used as a reference and reopened if/when we fully implement it. |
Description
⚒️ work in progress - proof of concept ⚒️
This PR is meant to provide an example of how the implementation that relies on a serialized state that uses JSON would look like.
The implementation is not complete.
The test:
(source:
persistence/test/savepoints_test.go
)and related code provide an example of how it would look like.
The steps are:
SavepointFactory
SavepointFactory
can createSavepoints
Savepoint
implementsPersistenceReadContext
and therefore it provides access to the state like if it was the database (this is to allow ephemeral state)GetAllAccounts
andGetAccountAmount
)Issue
If we choose to complete the implementation, it would fix #327
Type of change
Please mark the relevant option(s):
List of changes
Testing
make develop_test
; if any code changes were madeRequired Checklist
godoc
format comments on touched members (see: tip.golang.org/doc/comment)If Applicable Checklist
shared/docs/*
if I updatedshared/*
README(s)