Summary
The pkg/tests/issues/isolated package exhausts its 10-minute go test package deadline in UT Coverage across several unrelated open PRs. The package budget is shared by multiple embedded-cluster tests, so the final running test name is not by itself the cause.
Evidence
Investigation and acceptance
- Reproduce or compare against clean
main using the same UT Coverage mode and package parallelism; collect per-test timings and the full shutdown goroutine graph.
- Determine whether the heartbeat MySQL I/O can outlive CN shutdown and, if so, make the owner cancel/close it so
Stopper.Stop terminates. Do not infer that network read is the root cause from one stack alone.
- Reduce or isolate the expensive embedded-cluster fixture work so the package finishes with margin under its configured deadline, while preserving each distinct test contract. Avoid simply raising the timeout without resolving the shutdown path and budget.
- Verify the affected lifecycle case and the owning package in coverage mode, then a complete UT Coverage producer run.
Summary
The
pkg/tests/issues/isolatedpackage exhausts its 10-minutego testpackage deadline in UT Coverage across several unrelated open PRs. The package budget is shared by multiple embedded-cluster tests, so the final running test name is not by itself the cause.Evidence
TestAutoIDCacheRestartAndDisabledNodetaking about 302 seconds andTestIssue28234ExceptAllClusterabout 157 seconds.TestSpeedupAbortAllTxnhad run only 27 seconds when the package deadline fired.TestSpeedupAbortAllTxnwas cleaning up an embedded cluster. The main shutdown path wasembed.cluster.Close -> cnservice.closeService -> Stopper.Stop; a heartbeat task was increateTaskService -> registerExecutorsLocked -> mysqlTaskStorage.PingContext -> net.Read.Investigation and acceptance
mainusing the same UT Coverage mode and package parallelism; collect per-test timings and the full shutdown goroutine graph.Stopper.Stopterminates. Do not infer that network read is the root cause from one stack alone.