mirror of
https://github.com/milvus-io/milvus.git
synced 2026-07-21 10:15:43 +00:00
## What Milvus' own code in `pkg` still imported `github.com/shirou/gopsutil/v3` (cpu, disk, mem, process), while the root module already depends on `gopsutil/v4` — so the codebase carried **both** major versions. This migrates the six `pkg` files to `gopsutil/v4`, unifying our code on one major version. ## Why - One gopsutil major version across the repo instead of two. - `gopsutil/v4` drops the `github.com/shoenig/go-m1cpu` (darwin/arm64 cgo) dependency. See the note below — this PR does not fully remove it, but it removes our code's reliance on the v3 path. ## How Pure import-path change `gopsutil/v3/*` → `gopsutil/v4/*` in: - `pkg/util/hardware/hardware_info.go` - `pkg/util/hardware/mem_info.go` - `pkg/util/hardware/mem_info_darwin.go` - `pkg/util/hardware/mem_info_windows.go` - `pkg/util/paramtable/component_param.go` - `pkg/util/vralloc/alloc.go` The v3 APIs in use (`cpu.Percent`/`cpu.Times`, `mem.VirtualMemory`, `disk.Usage`, `process.NewProcess`) are unchanged in v4, so there is **no behavioral difference**. `go.mod`/`go.sum` updated and tidied for `pkg` and `client`. ## Notes for reviewers - **go-m1cpu is not fully removed.** `gopsutil/v3` (and its transitive `go-m1cpu`) is still pulled as an indirect dependency by `pulsar-client-go` and `woodpecker`, whose latest releases remain on v3. Fully dropping it requires those upstreams to move to v4. go-m1cpu only compiles on darwin/arm64, so it is never built in Linux production. - **Root `go.mod` is unchanged** — it already had `gopsutil/v4` as a direct dependency. - **`client/go.mod` churn:** besides the v3→v4 indirect bump, `go mod tidy` incidentally cleans up pre-existing drift in the client module's indirect list (stale etcd/otel entries no longer needed). Verified with Go 1.26.4, matching the module `go` directive. ## Verification - `go build` of affected `pkg` packages and the `client` module: pass - `go test -tags dynamic,test` for `pkg/util/hardware` and `pkg/util/vralloc`: pass issue: #50887 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: xiaofanluan <xf@hjjaq.com> Co-authored-by: xiaofanluan <xf@hjjaq.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>