You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[DX-5482] fix gap exceeds maxGap on startup - #2854
Fixes a spurious "gap exceeds maxGap" failure when the classification window opens inside the recorder's/check's first-observation pass.
Adds Header.ReadyAt stamped after the pass; check refuses from < ReadyAt in recorder mode; single-step (live mode) clamps from to the pass completion with a blind-interval warning; the recorder child and live poller continue the first observations' schedule (NewSchedulerFromPolls) instead of re-staggering; CheckStartupHandoff simulates the poller's first cycles and refuses unsafe schedules at startup; budget errors now name rules by title and suggest the minimum concurrency.
To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team.
Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks!
This branch is reached only when utilization already fits; the remaining per-rule and burst-bound failures cannot be fixed by adding workers because concurrency does not shorten a request. Keeping “raising concurrency” here sends operators toward a change that will still fail the same check.
--concurrency has no upper bound, and unlike observeAll, this simulation allocates one heap entry per requested worker. A value much larger than the rule count can therefore allocate enormous slices (and repeat that allocation per batch) even though the real poller can never use more than one worker per rule. Cap the simulated worker count to the remaining job count.
Correct outdated zero-value ReadyAt documentation
grafana-alertcheck/internal/gate/log.go:74
This comment is now inconsistent with single-step construction: check stamps the synthesized header's ReadyAt after the first-observation pass. Only legacy log headers leave this field zero, so documenting single-step synthesis as another zero-value case is misleading.
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
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.
Fixes a spurious "gap exceeds maxGap" failure when the classification window opens inside the recorder's/check's first-observation pass.
Adds
Header.ReadyAtstamped after the pass; check refusesfrom < ReadyAtin recorder mode; single-step (live mode) clamps from to the pass completion with a blind-interval warning; the recorder child and live poller continue the first observations' schedule (NewSchedulerFromPolls) instead of re-staggering;CheckStartupHandoffsimulates the poller's first cycles and refuses unsafe schedules at startup; budget errors now name rules by title and suggest the minimum concurrency.