-
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
[Persistence] TxIndexer to StateHash Bridge (Issue-#315) #332
Conversation
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.
tl;dr I think we can get this in relatively quickly.
-
I pushed some minor NITS in the changelog files; everything else left as a comment.
-
Business logic-wise, I don't have any real questions/comments. It makes sense and does the job of "bridging" what I needed in the next PR.
-
My only major point of discussion (and there's lots of comments related to it) is naming. I want to bias to using "Proposal" instead of "Latest" and "Previous" instead of "Last" where appropriate. Lmk what you think
Co-authored-by: Daniel Olshansky <[email protected]>
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.
@andrewnguyen22 Left a few more minor comments, but only have one point of contention.
Understood - we should consolidate this terminology. Do you think that needs to be done in this commit?
I don't think we need to fix/consolidate everything, but I do think that for the methods & variables introduced in this commit, I'd prefer to use Proposal
or Previous
instead of Latest
where appropriate. I personally confuse Latest
with Current
whenever I read it, and am not sure if it's Proposal related data (uncommitted) ore previously committed data.
So in this comment, it is communicated that there are EDIT: I'm having difficulty switching to previous - as during WYT about next steps? |
Reviewed the PR, and this is the last item before we can merge it in. The Postgres context is attached to a specific height and is meant to be an "ephemeral context" during the application/proposal lifecycle. What if we just drop the |
@Olshansk Corrected as specified and conflicts resolved - give it another go when you can |
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.
Solid. 🚢
Description
TL;DR Encapsulate and commit the block and block parts within a persistence context
The objective of this issue is to "bridge" the work being done in #302 (tx indexer integration) and #285 (first state hash implementation.
The interface and diagrams for the state hash computation were being done in #252 while the first implementation began in #285. However, since both of these are dependent on the integration of the tx indexer in #302, some conflicting design decisions arose.
The goal of this ticket is to unblock #302, while also capturing the results of an offline discussion that led to a decision where the "ephemeral block state" should be wholly managed by the persistence context, being a single, "roll-backable" point of reference
Opened new issue for last one to prevent scope from getting out of hand: #331
Issue
Fixes #315
Type of change
Please mark the relevant option(s):
List of changes
apphash
andtxResults
fromconsensus Module
structureset
the proposal block within a Persistence ContextTesting
make develop_test
README
Required Checklist
If Applicable Checklist
shared/docs/*
if I updatedshared/*
README(s)