Repository navigation
companion: wait for relay sync progress; no 30s hard deadline - #188
Merged
Merged
Conversation
…dline Long epochs mean long bootstrap chains. The literal 30-second handover deadline cut the relay off mid-chain above roughly 15,000 blocks, so the producer restarted with a tip outside its own forecast horizon. - replace the fixed deadline with RelaySyncWaiter, which keeps waiting while the relay tip advances and gives up only when the tip stalls - add yano.relay.sync.stall.timeout.seconds (default 30, the old deadline) and yano.relay.sync.max.wait.seconds (default 0, no ceiling) - print relay sync progress every five seconds during long backfills - document the wait in the node modes page and the CLI properties file
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A stall timeout of zero or less, or a negative ceiling, made the RelaySyncWaiter constructor throw inside performHandover. The handover then skipped stopping Yano and restoring the topology, and the Haskell producer restarted next to a Yano that was still producing. Both values are now sanitized with a warning: the stall timeout falls back to 30s, a negative ceiling means no ceiling, and oversized values are capped so the millisecond conversion cannot overflow. The first progress line also measures its rate from the first tip read instead of always reporting 0 blocks/s. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
8 of 12 tasks
satran004
added a commit
that referenced
this pull request
Sep 26, 2026
Brings in #188 (relay sync wait by progress), #189 (slot-leader time travel below f=1) and #190 (stabilityWindowFactor as a double). - YanoConfigBuilder.build() takes the history dir, #189's slot-leader flag and the backfill interval; YanoService keeps both settings and passes both - application.properties, both node.properties and the node-modes / node-configuration docs keep every section; the node.properties examples keep slotsPerKESPeriod=10000000 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Long epochs mean long bootstrap chains. The literal 30-second handover deadline cut the relay off mid-chain above roughly 15,000 blocks, so the producer restarted with a tip outside its own forecast horizon.