-
Notifications
You must be signed in to change notification settings - Fork 29
wip: migration prototype #502
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
Draft
AshwinSekar
wants to merge
15
commits into
anza-xyz:master
Choose a base branch
from
AshwinSekar:migration
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
653bf75 to
4907b89
Compare
67b9b4b to
eddb626
Compare
42d453b to
b0a2859
Compare
This was referenced Oct 21, 2025
AshwinSekar
added a commit
that referenced
this pull request
Oct 22, 2025
Split from #502 #### Problem During the migrationary period it is not safe to set root. We might end up rooting past the genesis block and clear it. #### Summary of Changes Only set root for slots < migration slot. We don't have to reenable this after genesis, because at that point votor will take over setting roots and this pathway in replay stage won't even be called.
AshwinSekar
added a commit
that referenced
this pull request
Oct 23, 2025
Split from #502 #### Problem When we are in the migrationary period we don't want to include user txs in blocks. #### Summary of Changes Change `maybe_start_leader` to make leader banks as VoM. This value is used by banking stage to only include vote txs in packing. We do not need to undo this after genesis as replay stage is no longer responsible for starting leader - block creation loop will create leader banks as normal. NOTE: this is best effort, e.g. a malicious guy could comment this out. Validation will be handled in #566
AshwinSekar
added a commit
that referenced
this pull request
Oct 23, 2025
Split from #502 #### Problem It's finally time #### Summary of Changes Note this DOES NOT break repair, epoch-slots is only one component of repair peer selection: https://github.com/anza-xyz/alpenglow/blob/426b9d075290838e94b6eaaeb24aeac1aeb3e428/core/src/cluster_slots_service/cluster_slots.rs#L489 necromancy of anza-xyz/agave#3246 will clean up peer selection
AshwinSekar
added a commit
that referenced
this pull request
Oct 24, 2025
Split from #502 #### Problem Although migrationary period blocks will not contain user transactions, we would like to not report confirmation during this time as it will be confusing to users - and we intend to reuse the same slot #s post migration #### Summary of Changes For any slot > migration slot, do not report OC notifications. We don't need to reenable this post genesis as Votor doesn't have a notion of OC and instead we set this confirmation level via finalized slots. No more TowerBFT votes so this thread in CIVL will just idle until it's deleted in 4.1.
AshwinSekar
added a commit
that referenced
this pull request
Oct 24, 2025
Split from #502 #### Problem Although we do not engage in TowerBFT duplicate block consensus post AG genesis, we still respond to TowerBFT duplicate block consensus repair requests. #### Summary of Changes Do not respond to any TowerBFT duplicate block repair requests on slots post AG genesis. Do not take action on popular pruned forks post AG genesis. Just kill the ancestor hashes thread since we're not going to be sending any requests when alpenglow is active. Store duplicate shred proofs in blockstore for slashing, but do not gossip or send them to the duplicate block state machine 4.1 we can delete all tower bft duplicate block consensus
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
will split into PRs, just running full CI
Left todo:
Testing
Broader question, should we update
hard_forksand bump shred version? Conceptually this is a realtime hard fork.