Harden DBR umbrella: bound probe cost and pin connect to the major line - #27
Open
rugpanov wants to merge 3 commits into
Open
Harden DBR umbrella: bound probe cost and pin connect to the major line#27rugpanov wants to merge 3 commits into
rugpanov wants to merge 3 commits into
Conversation
…he major line Follow-up hardening for the DBR 18+ umbrella scheme: - Cap the point-release probe for a bare major with no point-release pages (DBR 19 today). Gating the trailing-404 break on "a page was seen" let such a line scan the full 0..max_minor range (~52 requests). A separate max_leading_misses cap (5) ends the probe after a short run of leading 404s, keeping it above the 2-consecutive slack that bridges a removed early page. - Pin the bare-major umbrella's databricks-connect to the whole major line (18.x -> ~=18.0) instead of the latest point release's minor (~=18.2.0), matching the serverless whole-major convention. A cluster addressing the line by its bare major now resolves the newest connect in the major, and a new point release is covered without a regen. Point-release folders keep their exact-minor pin. Regenerates the 18.x / 19.x umbrella artifacts. - Simplify live_page to return just the classification (the page body was discarded at every call site) and note the transient no-live no-op window. 43 -> 46 unit tests: probe-count bound, leading-cap boundary, and an end-to-end DBR-19 umbrella-only assertion. Co-authored-by: Isaac <no-reply@databricks.com>
…he value Review follow-up. No behavior change: - Add a boundary test locking max_leading_misses=5 — a live release past a full run of leading 404s (18.0..18.4 deleted, 18.5 live) is not discovered, so a future change to the cap is a deliberate, visible edit. - Expand the comment: only genuine 404s count toward the cap (an EoS page is a hit that resets the counter, and upstream marks pages '(EoS)' rather than deleting them), and explain why 5. Co-authored-by: Isaac <no-reply@databricks.com>
Point releases are numbered contiguously from .0, so five leading 404s mean none were published (the empty case), not a gap. Comment + test docstring no longer conflate 'never existed' with 'deleted'. No behavior change. Co-authored-by: Isaac <no-reply@databricks.com>
rugpanov
marked this pull request as ready for review
August 28, 2026 18:13
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.
Follow-up hardening for the DBR 18+ umbrella scheme merged in #26. Non-blocking review findings from that PR, addressed in one pass.
Changes
0..max_minorrange — ~52 HTTP requests per line. A separatemax_leading_missescap (5) ends the probe after a short run of leading 404s, kept above the 2-consecutive slack that bridges a removed early page. EoS pages don't count toward it (they reset the counter).databricks-connectto the whole major line —18.x→~=18.0instead of the latest point release's~=18.2.0— matching the serverless whole-major convention (dbconnect_pin). Point-release folders keep their exact-minor pin. Regenerates the18.x/19.xumbrella artifacts (~=18.0,~=19.0).live_pageto return just the classification; the page body was discarded at every call site.Why
A cluster addressing a line by its bare major should resolve the newest
databricks-connectin the major, and pick up a new point release without waiting on a regen. Verified withuv:18.xnow resolves to18.3.4(was capped at18.2.x) and19.xto19.1(the old~=19.0.0pin was already too tight to reach it). The probe cap keeps the weekly job from spending ~40s per bare major discovering pages that don't exist.Tests
43 → 47 unit tests: a probe-count bound for the no-point-release line, both leading-cap boundary cases (a live release within the slack is found; one past the cap is not), and an end-to-end
sync_dbrassertion for the DBR-19 umbrella-only path (wheredbr_metadefaults the minor). All green; artifacts regenerated bysync.py.