Skip to content

Retry cached block sections after remote header processing - #2549

Merged
kushti merged 2 commits into
ergoplatform:v6.0.6from
a-shannon:fix/header-body-cache-wakeup-20260913
Sep 15, 2026
Merged

kushti merged 2 commits into
ergoplatform:v6.0.6from
a-shannon:fix/header-body-cache-wakeup-20260913

Conversation

@a-shannon

Copy link
Copy Markdown
Contributor

Block sections received before their header can remain cached after the header arrives. The synchronizer has already marked them Received and canceled their download retry, while the holder's header branch only drains the header cache. If no further body batch arrives, full-block processing can stall even though the required data has been received.

Drain the existing body cache after remote-header processing. This reuses normal applicability, history, state and delivery-status handling. The change is one call plus its comment and a regression suite, across two files.

Validation: the unchanged regression fails in both UTXO and Digest modes without the call and passes in both with it. It verifies three sections cached before the header, then full persistence, best-full-block selection, matching state version/root and an empty cache after only the header arrives. The actual v6.0.6 composition also passed 2/2 cases after normal compilation. Independent source review found no blocking issue. CI remains a separate gate; the local proof does not establish the exclusive cause of earlier integration timeouts.

This targets v6.0.6 and can be reviewed independently of the wallet feature. Common commit a772a5cb is also reused unchanged by the wallet integration PR. #2433 addresses missing parents of cached headers; this correction addresses already received body sections and does not depend on it. Tracking and integration order.

@kushti
kushti merged commit f3dd1f9 into ergoplatform:v6.0.6 Sep 15, 2026
8 checks passed
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.

2 participants