matrixorigin / matrixorigin/matrixone

[Bug]: UT coverage producer hits 60-minute timeout and cascades Coverage failure

Open
#28,419 0 comments 0 reactions 1 assignee Claimed by @XuPeng-SH View on GitHub
kind/bug needs-triage
Dominant language
Go
Stars
1.9k
Forks
311
Avg merge
1d 3h
Merged PRs (30d)
768

Description

## Summary

PR #28406 at exact head `b67c14023fc11e8c97deab3be9cd3a99840fdec5` received a derived Coverage failure. The PR changes only the test file `pkg/logservice/client_test.go`; it does not change the CI workflow, module files, build scripts, or coverage harness.

- Source PR: https://github.com/matrixorigin/matrixone/pull/28406
- Failed check: Matrixone Utils CI / Coverage
- Workflow run, attempt 1: https://github.com/matrixorigin/matrixone/actions/runs/34202485757
- Failed coverage job: https://github.com/matrixorigin/matrixone/actions/runs/34202485757/job/102004093143
- Upstream producer job: https://github.com/matrixorigin/matrixone/actions/runs/34202485757/job/101984376525

## Failure

The failed coverage job ran the following guard:

```text
PREREQUISITES_READY: false
coverage merge skipped because at least one required producer was skipped or failed
```

It exited before checkout, artifact download, profile selection, or changed-code coverage evaluation.

The upstream UT coverage producer used reusable workflow revision `e6127926a2a2de795b07877f1a00dd944058b71c`. That workflow declares a 60-minute job budget for the Ubuntu/x86 coverage producer. The producer started at 2026-09-08T08:11:20Z, its coverage test step was cancelled at 2026-09-08T09:11:33Z, and the final log signature was:

```text
##[error]The operation was canceled.
```

The producer log contains no compile error, test assertion, race report, static-analysis error, or coverage-threshold result before cancellation. The derived Coverage job then failed only because the producer result was cancelled.

## Ownership evidence

The exact-head PR diff is one test-only file: `pkg/logservice/client_test.go` (30 additions, 5 deletions). The modified test's direct closure passed locally with the repository CGo wrapper:

```text
mo-cgo-test -list '^TestConnectToLogServiceAddressesClosesSuccessfulLosers$' ./pkg/logservice
mo-cgo-test -v -count=1 -timeout=120s -run '^TestConnectToLogServiceAddressesClosesSuccessfulLosers$' ./pkg/logservice
mo-cgo-test -race -v -count=100 -timeout=120s -run '^TestConnectToLogServiceAddressesClosesSuccessfulLosers$' ./pkg/logservice
mo-cgo-test -count=1 -timeout=240s ./pkg/logservice
mo-cgo-test -race -count=1 -timeout=300s ./pkg/logservice
```

All five commands completed successfully; the owning package took 118.820 seconds in normal mode and 139.598 seconds in race mode. In the same exact-head CI run, the regular Ubuntu/x86 UT job and shared build job also passed.

## Reproduction

1. Run the MatrixOne ALL CI workflow for PR #28406 at the exact head above.
2. Observe the Ubuntu/x86 UT coverage producer run under its 60-minute job timeout.
3. If that producer is cancelled before publishing its profile, observe the derived Coverage job receive `PREREQUISITES_READY=false` and exit with the guard message above.

This issue tracks the fixed-budget producer cancellation and the derived-check failure. It does not propose a product-code change in PR #28406.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.