potiuk commented on code in PR #73316:
URL: https://github.com/apache/airflow/pull/73316#discussion_r4053903816


##########
scripts/ci/analyze_ci_job_durations.py:
##########


Review Comment:
   The concern is right, and the numbers in your example hold. It is moot for 
this PR though: the job logs showed the wave spike is a bug in 
`constraints-version-check` (a pin newer than the cooldown-adjusted "latest" 
counted as outdated and got a full `uv sync` explanation), so this PR now fixes 
that at the source and the alerting change is gone.
   
   The oldest-five baseline is still what `detect_image_build_regression` uses 
on `main`, so your point stands there. One note on the sketch: a provisional 
threshold from the oldest five is already inflated in your example (855 → 
1069), so the streak comes out empty and the re-baselining never happens. What 
did work when I tried it was defining the streak as the longest run of newest 
results that are all elevated against the median of everything older than the 
streak, scanning streak lengths and keeping the largest that qualifies. That 
flags your settled-at-900 case with a 384 baseline and still ignores a two-day 
wave. Happy to see that as a follow-up PR if you want to pick it up.
   
   ---
   Drafted-by: Claude Code (Fable 5.1); reviewed by @potiuk before posting
   



##########
scripts/ci/analyze_ci_job_durations.py:
##########
@@ -91,6 +94,13 @@
 )
 IMAGE_WORK_LABEL = "Image build, pull & push"
 
+# Jobs that swing on events outside the repository, where a single elevated 
run is not a
+# regression. `constraints-version-check` re-resolves every provider a release 
wave has just
+# published, so these jobs double for a few days after each wave and fall back 
once the
+# constraints catch up. Alerting on that sawtooth teaches readers to ignore 
the alert, so they
+# must stay elevated for SPIKY_JOB_PERSISTENCE_DAYS first — the rule the image 
build follows.
+SPIKY_JOB_NAME_PATTERNS = ("*Deps *:constraints*",)

Review Comment:
   Agreed, and your table matches what I pulled: `constraints-no-providers` 
pins no providers, so a wave cannot move it. The pattern is gone now, since the 
PR fixes the spike in `constraints-version-check` itself rather than in the 
alert, so this no longer applies.
   
   ---
   Drafted-by: Claude Code (Fable 5.1); reviewed by @potiuk before posting
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to