Restore V2 fork synchronization and block-download progress - #2511
Open
a-shannon wants to merge 2 commits into
Open
Restore V2 fork synchronization and block-download progress#2511a-shannon wants to merge 2 commits into
a-shannon wants to merge 2 commits into
Conversation
a-shannon
added a commit
to a-shannon/ergo
that referenced
this pull request
Sep 6, 2026
a-shannon
added a commit
to a-shannon/ergo
that referenced
this pull request
Sep 6, 2026
This was referenced Sep 6, 2026
a-shannon
marked this pull request as ready for review
September 6, 2026 13:16
This was referenced Sep 7, 2026
a-shannon
added a commit
to a-shannon/ergo
that referenced
this pull request
Sep 7, 2026
a-shannon
added a commit
to a-shannon/ergo
that referenced
this pull request
Sep 7, 2026
a-shannon
added a commit
to a-shannon/ergo
that referenced
this pull request
Sep 7, 2026
a-shannon
marked this pull request as draft
September 7, 2026 02:03
a-shannon
marked this pull request as ready for review
September 7, 2026 02:27
a-shannon
force-pushed
the
fix/full-sync-genesis-anchor
branch
from
September 8, 2026 10:07
8407e32 to
395b784
Compare
Keep synchronization scenarios with their correction in ergoplatform#2511. Reuse the spendable sorting fixture already present in ergoplatform#2480.
a-shannon
force-pushed
the
fix/full-sync-genesis-anchor
branch
from
September 8, 2026 10:33
395b784 to
c6e5669
Compare
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
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.
Full V2 synchronization summaries retain the locally available genesis header alongside recent samples. The cache is keyed by selected header ID and requested mode, so full requests cannot reuse reduced summaries and a replacement tip refreshes it even at the same height. Tip order, deduplication, reduced and empty summaries, wire encoding and validation rules are preserved.
During active synchronization, periodic body downloads can extend backward to a confirmed common ancestor within the configured search bound. The forward ceiling remains anchored to the best full block, so finding an older retained ancestor does not shorten forward progress. Pruning floors, filtering and request counts are preserved; arithmetic is bounded at the terminal height. A truncated search does not invent an ancestor, and rollback remains limited by retained state versions.
Review and integration
Merge shared test support #2535 first. This branch contains that exact prerequisite commit followed by one synchronization commit,
c6e566900e5b12aeece8f6f3aa78d778da91e4e7.Review only the synchronization changes and direct tests. The nine-file increment contains seven unchanged synchronization source and direct-test files plus the DeepRollBackSpec and UtxoStateNodesSyncSpec scenario changes moved unchanged from shared support. All scenario assertions and timeouts are preserved; the reusable ConvergenceObservations helper remains in #2535. The scheduler correction requested on #2508 is retained here. GitHub's upstream-master diff includes the shared prerequisite until it merges.
Missing-parent handling remains with #2433 and #2312; pruning admissibility remains with #2359. Candidate expiry #2478 targets v6.0.7 separately.
Validation: 45 direct synchronization tests pass across four suites; those results are reused because the tested source and direct-test files are unchanged. Integration sources compile on this head. The previous-head run had eight successful checks. Earlier integration timeouts remain historical evidence. No previous-head CI result is attributed to this revision; current-head CI has seven of eight successful checks; integration passed 21 of 22 tests and failed when ForkResolutionSpec hit its 15-minute timeout. The cause is not established. A maintainer integration-job rerun is needed. Current-head CI and integration tracker.