pd: report hot read cpu in heartbeat (#10178)#10737
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks 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 |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## release-nextgen-202603 #10737 +/- ##
==========================================================
+ Coverage 79.07% 79.17% +0.10%
==========================================================
Files 531 532 +1
Lines 72298 72818 +520
==========================================================
+ Hits 57168 57654 +486
- Misses 11093 11125 +32
- Partials 4037 4039 +2
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
Temporary note for the current TiDBX/CSE validation: The test cluster is running a NextGen/CSE TiKV build from
That CSE PR already reports hot-read CPU stats in store heartbeat, but this PD PR originally gated CPU-based hot-read scheduling by cluster version only:
Because the CSE test build reports itself as I pushed This is intentionally scoped to NextGen and keeps the classic compatibility behavior unchanged. We should still discuss the long-term rule: either version CSE CPU reporting explicitly, use a capability signal instead of semantic version, or only keep this shortcut for NextGen release branches where the paired CSE build is controlled. Validated locally: go test ./pkg/versioninfo -run 'TestIsHotScheduleWithCPUSupported' -count=1
go test ./pkg/schedule/schedulers -run 'TestAdjustPrioritiesConfigCPUFallback' -count=1 |
Signed-off-by: lhy1024 <19542290+lhy1024@users.noreply.github.com>
d0a8d56 to
28de2dd
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: bufferflies, rleungx 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 |
[LGTM Timeline notifier]Timeline:
|
|
30-minute Benchbot validation for TiDBX looks normal overall. Images under test:
Since Benchbot does not support paired TiDBX comparison tests yet, each workload was run independently for 3 rounds. The table below uses the average result.
Legend: ✅ Better = clear improvement, ➖ Flat = basically comparable, Conclusion: the 30-minute validation does not show a significant regression. TPC-C improves clearly, most Sysbench cases are flat or better, and YCSB is also basically flat. |
|
https://github.com/tidbcloud/cloud-storage-engine/pull/5241 has been merged |
|
/retest |
1 similar comment
|
/retest |
Signed-off-by: lhy1024 <19542290+lhy1024@users.noreply.github.com>
Signed-off-by: lhy1024 <19542290+lhy1024@users.noreply.github.com>
|
Updated the rollout strategy in commit We will ship the hot-read CPU reporting, statistics, API, history, and Grafana visibility with this PR, but keep CPU-based scheduling as an explicit operational opt-in during the canary phase. Behavior after this change:
Enable CPU-first hot-read scheduling on a canary cluster: pd-ctl -u "$PD_ADDR" scheduler config balance-hot-region-scheduler set read-priorities cpu,byteRollback: pd-ctl -u "$PD_ADDR" scheduler config balance-hot-region-scheduler set read-priorities query,byteThis separates capability availability from scheduling rollout: Ops can enable selected canary clusters first, observe scheduling stability and performance, then expand coverage before we consider changing the default. Validation completed: Both test modes passed. The tests now cover the safe default, explicit CPU opt-in, invalid-config fallback, and the NextGen capability state. |
Signed-off-by: lhy1024 <19542290+lhy1024@users.noreply.github.com>
|
/retest |
4 similar comments
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
1 similar comment
|
/retest |
What problem does this PR solve?
Issue Number: ref #5718
This is a cherry-pick of #10178 to
release-nextgen-202603.What is changed and how does it work?
Cherry-pick source: #10178
Base branch:
release-nextgen-202603Cherry-picked commit:
3aee2efeb594346498f8a1eadd044ce212c2001aConflicts:
Check List
Tests
Code changes
Related changes
Verification:
Release note