Conversation
Signed-off-by: JmPotato <github@ipotato.me>
|
Skipping CI for Draft Pull Request. |
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
What problem does this PR solve?
Issue Number: close #71407, ref tikv/pd#11256
Problem Summary:
The legacy Resource Control Max RU panel groups consumption by report arrival and displays separate read/write maxima over 20 seconds. Those values cannot reliably represent the busiest accounting second of the resource group across clients.
What changed and how does it work?
Replace panel 5 in both classic and NextGen Resource Control dashboards with RU Max - 1s, preserving its ID, position beside RU and existing
{{resource_group}}legend convention. Plot the combined RRU+WRU peak supplied by PD in RU/s; keep replica/keyspace labels intact and do not sum already-aggregated peaks. One-minute minimum resolution andmax_over_timepreserve peaks at longer display intervals. Availability and sample-count checks leave incomplete intervals as gaps.Upgrade PD client and KVProto dependencies and regenerate
DEPS.bzl. The latest PD client requires Go 1.26.8; align the module, Bazel SDK, CI setup and builder images with that requirement. The new builder image digest was resolved and verified against the registry manifest. No audit hooks, workload generators or legacy comparison panels are included in the production diff.Dependency / merge gate: this draft depends on KVProto #1539 → PD #11293. Immutable, checksum-verified fork replacements make the stack buildable for review. Before merging, change both to official merged module versions and regenerate module sums and Bazel metadata. The peak metric remains opt-in through PD's
enable-ru-minute-peaksetting; deployments must upgrade all participating producers before enabling it.The panel describes the preceding completed minute, the 30-second publication delay and excluded accounting models. The existing RU panel continues to show average rates. The new view has a single total series per metric identity, replacing the old independent read/write peak curves.
Check List
Tests
Unit test
Integration test
Manual test (add detailed scripts or steps below)
Ready validation:
make bazel_prepare,make lint,GOTOOLCHAIN=go1.26.8 go build -tags nextgen ./cmd/tidb-server, and the Classic build with the same toolchain and no build tags. Dashboard JSON was regenerated with the repository's grafonnet dependency, compared byte-for-byte, and checked to change only panel 5 while preserving its position and resource-group legend. Local Bazel preparation used JVM proxy settings and an officially checksum-verified SDK archive to accommodate this host's network.Final real-cluster evidence, screenshot and offline verifier: after the PD leadership-handoff fix, 5,244 confirmed accounting events and 2/2 complete minute peaks matched the logs, exporter, Prometheus and actual Mac mini Grafana datasource. Maximum absolute error: 2.114575181622058e-11 RU. Publication was observed 30.465–30.607 seconds after minute end, with zero capture errors. The earlier five-minute random run is retained with separate identities. The final server-only PD fix does not change the pinned PD client module. Full methodology and limits are described in PD #11293.
Docker images and the full TiDB regression suite were not run locally; the builder manifest was verified, and standard build/CI configuration is aligned with the dependency's minimum Go version.
No need to test
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.