• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kubernetes-sigs / lws / 41309524015
88%

Build:
DEFAULT BRANCH: main
Ran 01 Nov 2026 01:11PM UTC
Jobs 1
Files 37
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

01 Nov 2026 01:05PM UTC coverage: 88.349% (+0.02%) from 88.325%
41309524015

push

github

web-flow
Charge the group restart budget once per group failure (#1249)

* Charge the group restart budget once per group failure

A group failure often restarts several of its pods at once. The first
pod event charges the budget and deletes the leader. The informer cache
can then still show that leader alive while it already shows the new
count, so the next pod event charges the budget again. With
maxGroupRestarts=3, one failure that restarts several workers can use
the whole budget.

Read the leader from the API server before charging the budget, and
stop when it is already deleting, gone, or replaced.

* Deduplicate group restart charges by leader UID

Persist the charged leader UID atomically with restart counts instead of
reading the leader directly from the API server. Retry deletion without
charging or applying backoff again, and prune UIDs with their counters.

Cover stale Pod caches, conflict retries, deletion failures, replacement
leaders, and restart-budget cleanup paths.

Signed-off-by: Max Yang <pandacooming@gmail.com>

* Cover charged UID cleanup during Hash group handoff

Adapt the Hash restart-count handoff to the combined count and UID
mutation and verify that the replacement inherits the count without
being marked as already charged.

Signed-off-by: Max Yang <pandacooming@gmail.com>

* Adapt Hash scale-down pruning to charged UID bookkeeping

Update the remaining restart-count mutation callback and exercise UID
cleanup when unclaimed Hash counters are pruned after scale-down.

Signed-off-by: Max Yang <pandacooming@gmail.com>

* Mark restart budget test pods as running

ContainerRestarted only reports restarts for Running or Pending Pods, so
the new restart budget unit tests returned before reaching the charge
logic. Set the Pod phase so the tests exercise the deduplication paths.

Signed-off-by: Max Yang <pandacooming@gmail.com>
Claude-Session: https://claude.ai/code/session_01XQVyjtCCPZtvSY7WbqRW7R

* Bound charged leader history and verify ... (continued)

65 of 75 new or added lines in 3 files covered. (86.67%)

2 existing lines in 1 file now uncovered.

9357 of 10591 relevant lines covered (88.35%)

36628.81 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
83.18
0.34% pkg/controllers/pod_controller.go

Coverage Regressions

Lines Coverage ∆ File
2
83.18
0.34% pkg/controllers/pod_controller.go
Jobs
ID Job ID Ran Files Coverage
1 41309524015.1 01 Nov 2026 01:11PM UTC 37
88.35
GitHub Action Run
Source Files on build 41309524015
  • Tree
  • List 37
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 77430bfd on github
  • Prev Build on main (#41306255007)
  • Next Build on main (#41336172432)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc