fix(cluster): surface direct reseed progress and recent rate - #1697
Conversation
Review: surface direct reseed progress and recent rateReviewed the diff ( SummaryGood, well-scoped change. It closes a real gap (direct/streamed reseed had no byte progress surfaced to the dashboard) and does it by reusing the existing Code quality
Potential bugs / nits (non-blocking)
PerformanceNo concerns. The rate window is capped at 3 samples ( SecurityNo concerns. No new user input is parsed; Test coverageStrong. VerdictApprove. No blocking issues found; the nits above are optional polish (test robustness + a comment correction). |
|
@claude review PR based on code changes |
|
Claude finished @caffeinated92's task in 1m 25s —— View job Review: surface direct reseed progress and recent rate
I read the current diff against SummarySolid, well-scoped change that does exactly what the description says. The key design decision — reusing Verified correctness details
Minor observations (non-blocking)
Note on test executionI was not able to run VerdictLooks good — no blocking issues. The items above are optional polish / confirmation items, not required changes. |
Why this PR exists
Direct reseed from master (
RejoinDirectDump/JobRejoinMysqldumpFromSource) already had byte accounting internally for its stall watchdog, but it did not surface that progress to the shared reseed progress model or the dashboard. Operators could see a reseed was in flight, but not how much data had been streamed or what speed it was moving at.The existing reseed progress UI also only worked well for file-based restores with a known total size. Direct stream reseeds have real byte progress but no fixed total, and the prior UI could only fall back to a generic in-progress timer.
What this PR brings
Backend
Frontend
now) and lifetime average (avg) rate when recent-rate samples are readyTests
Validation
go test ./cluster -run 'TestRecentReseedRate|TestSampleReseedRate'node "share/dashboard_react/src/utility/__tests__/reseedProgress.test.js"Notes
develop