• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

kubernetes-sigs / lws / 28610710711
56%
main: 56%

Build:
Build:
LAST BUILD BRANCH: dependabot/npm_and_yarn/site/all-1caf817742
DEFAULT BRANCH: main
Ran 02 Jul 2026 05:56PM UTC
Jobs 1
Files 25
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Jul 2026 12:42PM UTC coverage: 55.698% (+0.03%) from 55.673%
28610710711

Pull #907

github

hasB4K
planner: two-step model with proportional slack + per-revision aliveness

Fix two related planner issues surfaced by scenario 02 (5P/2D, surge=1
unavail=1) and scenario 01 (20P/4D, surge=3 unavail=2):

- Scenario 02 violated maxUnavailable because the small role (decode)
  reached spec=0 while the large role (prefill) still had replicas to
  drain — old revision left half-serving; executor's coordinated drain
  then over-wiped prefill.
- Scenario 01 became too slow after tightening semantics: with
  totalSteps = max(role sizes), per-tick wantNew grew by 1 pod even
  though the surge budget allowed 3 in-flight.

Planner changes (planner.go):
- sideSize = max(role sizes): fine granularity (1 minUnit = 1 pod of
  the largest role); smaller roles absorb ticks via ceil-rounding.
- wantReplicas uses ceil on both sides: aliveness invariant — a small
  role holds at ≥1 while others are still draining, both reach 0 at
  the final tick.
- projectBudget: MaxSurge / MaxUnavailable become minUnit multipliers
  projected per-role by size ratio (largest role gets full multiplier,
  smaller roles get proportional slack).
- Two-step model: progressStep (+1/tick, baseline) drives completion
  detection; specTargetStep (= progressStep + surge for NEW / + unavail
  for OLD) drives wantNew/wantOld so each tick consumes the full
  surge/unavail budget in one round-trip.
- Planner-level aliveness cap: when one role is drain-budget-blocked
  while another actually drains, hold both to keep old-side roles in
  step. Next tick, addNew grows total → drainBudget grows → blocked
  role catches up.

Executor changes (executor.go):
- scaleUpNew ceiling uses proportional projection (was raw MaxSurge).
- isRevisionStable tolerance projected per-role (was raw surge+unavail).
- scaleDownOld: replaced coordinated-drain with per-revision aliveness
  guard — retire whole revision when planned drain would orphan AND
  budget allows; otherwise skip the orphaning drains.
- Deadlock fallback:... (continued)
Pull Request #907: DisaggregatedSet: don't stall on slow pods and use the full range of maxUnavailable to maxSurge.

327 of 354 new or added lines in 2 files covered. (92.37%)

7 existing lines in 2 files now uncovered.

2136 of 3835 relevant lines covered (55.7%)

224.94 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
84.54
-0.76% pkg/controllers/disaggregatedset/executor.go
10
92.86
-2.88% pkg/controllers/disaggregatedset/planner.go

Coverage Regressions

Lines Coverage ∆ File
4
92.86
-2.88% pkg/controllers/disaggregatedset/planner.go
3
84.54
-0.76% pkg/controllers/disaggregatedset/executor.go
Jobs
ID Job ID Ran Files Coverage
1 28610710711.1 02 Jul 2026 05:56PM UTC 25
55.7
GitHub Action Run
Source Files on build 28610710711
  • Tree
  • List 25
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #907
  • PR Base - main (#28471560076)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc