Skip to content

Restore V2 fork synchronization and block-download progress - #2511

Open
a-shannon wants to merge 2 commits into
ergoplatform:masterfrom
a-shannon:fix/full-sync-genesis-anchor
Open

Restore V2 fork synchronization and block-download progress#2511
a-shannon wants to merge 2 commits into
ergoplatform:masterfrom
a-shannon:fix/full-sync-genesis-anchor

Conversation

@a-shannon

@a-shannon a-shannon commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

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.

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
@a-shannon
a-shannon marked this pull request as ready for review September 6, 2026 13:16
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
a-shannon marked this pull request as draft September 7, 2026 02:03
@a-shannon
a-shannon marked this pull request as ready for review September 7, 2026 02:27
@a-shannon
a-shannon force-pushed the fix/full-sync-genesis-anchor branch from 8407e32 to 395b784 Compare September 8, 2026 10:07
Keep synchronization scenarios with their correction in ergoplatform#2511. Reuse the spendable sorting fixture already present in ergoplatform#2480.
@a-shannon
a-shannon force-pushed the fix/full-sync-genesis-anchor branch from 395b784 to c6e5669 Compare September 8, 2026 10:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant