RepoJournal
Kubernetes

@kubernetes

Container orchestration - what platform teams ship on

Keep up with Kubernetes in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

One email a day. Unsubscribe in one click.

Pick a date

Topics: Go Infrastructure Full archive →

The Wire · Showcase

KSM CUTS ALLOCATIONS 85 PERCENT, FIXES REAPER GOROUTINE LEAK

By RepoJournal · Filed · About Kubernetes

Kube-state-metrics shipped three performance fixes that eliminate per-scrape allocations and close a goroutine leak that multiplies with every config reload.

The big win lands in header sanitization: kube-state-metrics now precomputes per-store headers once at startup instead of re-parsing them on every scrape, slashing allocations by 85 percent [1]. That same PR cuts metric generation allocations across the board through strategic reuse of buffers and objects on the per-event path. Meanwhile, a critical bug fix stops StartReaper from spawning duplicate goroutines on every config reload [2]. The reaper runs as pid 1 and has no stop path, so each reload left another blocked goroutine behind, never collected because the signal package holds a reference to it. Reproduced with five reloads yielding five goroutines [3]. A separate modernization pass replaces sort.StringSlice and math.Min with Go 1.21 standard library facilities [4], and discovery now correctly filters out non-served CRD versions [5]. Infrastructure updates push boskos to v20260730-11fb0c8 and prow to v20260810-20590a839 [6], while token endpoint handling lands in cloud armor rules to unblock registry.k8s.io work [7].

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] perf: reduce allocations in metric generation and header sanitization ↗ kubernetes/kube-state-metrics
  2. [2] fix(proc): start the reaper only once ↗ kubernetes/kube-state-metrics
  3. [3] fix(proc): start the reaper only once kubernetes/kube-state-metrics
  4. [4] chore: modernize using slices, min builtin, and %w error wrapping ↗ kubernetes/kube-state-metrics
  5. [5] fix: Ignore non-served CRD versions in discovery ↗ kubernetes/kube-state-metrics
  6. [6] Update boskos to v20260730-11fb0c8, prow to v20260810-20590a839 ↗ kubernetes/k8s.io
  7. [7] add token endpoint to archeio's cloud armor rules ↗ kubernetes/k8s.io

Quick answers

What shipped in Kubernetes on August 11, 2026?
Kube-state-metrics shipped three performance fixes that eliminate per-scrape allocations and close a goroutine leak that multiplies with every config reload. In total, 33 commits and 14 pull requests landed.
Who contributed to Kubernetes on August 11, 2026?
9 developers shipped this update, including k8s-infra-ci-robot, kubernetes-prow[bot], upodroid, smoshiur1237, Priyanka Saggu, reylejano, my-git9, and mrueg, and 1 more.
What were the notable Kubernetes updates?
perf: reduce allocations in metric generation and header sanitization, fix(proc): start the reaper only once, and fix(proc): start the reaper only once.

More from @kubernetes

Daily updates, in your inbox

Follow Kubernetes

Keep up with Kubernetes in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?