Skip to content

Fix empty last slot of Alpenglow leader windows - #79

Closed
cavemanloverboy wants to merge 3 commits into
v4.3-harmonicfrom
cavey/ag-slot-clock-fix
Closed

cavemanloverboy wants to merge 3 commits into
v4.3-harmonicfrom
cavey/ag-slot-clock-fix

Conversation

@cavemanloverboy

Copy link
Copy Markdown
Contributor

Under Alpenglow, the external scheduler misses the last slot of almost every leader window, so that block goes out empty. When a mid-window slot finalizes, a late ParentReady re-anchors the shared slot clock to "now". The progress tracker then sleeps until the clock start plus the bank's offset within the window, which oversleeps through slot 4.

15.109  ParentReady(786696)  clock = {786696, 15.109}    slots 1-3 fine
15.573  ParentReady(786697)  clock = {786697, 15.573}    tracker sleeps to 15.573+344+10 = 15.927
15.653  slot 4 (786699) starts                           tracker asleep, scheduler not told
15.853  slot 4 ends: 0 txs
15.927  tracker wakes, reports 786700 (next leader)      scheduler skips our slot 4

This PR cherry-picks agave's fix that anchors the clock once per leader window (anza-xyz/agave#15885; the v4.3 backport was closed), minus its progress-tracker half, which conflicts with ours. It also caps the tracker's wait at 1 ms as a backstop. On mon, every slot of every window now starts and takes the builder's block. Before, about 1 in 4 slots (all 4th slots) went out empty.

apfitzge and others added 3 commits October 18, 2026 13:45
…stimates (#15885)

* fix: preserve Alpenglow window timing across recovery

* fix: stop reporting Alpenglow progress after the anchored window expires

* fix: report NOT_LEADER when Alpenglow window expires

(cherry picked from commit 363cbef18cb3d2d911117478842368ee11ad4b01)

# Conflicts:
#	core/src/banking_stage/progress_tracker.rs
(cherry picked from commit c592ce3016d7d32d899f2d71e88b9903a883477c)
@devinschmitz

Copy link
Copy Markdown
Contributor

Superseded by #80

@devinschmitz
devinschmitz deleted the cavey/ag-slot-clock-fix branch October 19, 2026 17:01
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.

3 participants