matrixorigin / matrixorigin/matrixone

[CI] TestDataBranchDiffAsFile cleanup timeout on Ubuntu/x86

Open
#28,638 2 comments 0 reactions 1 assignee Claimed by @gouhongshen 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

The Ubuntu/x86 unit-test job for PR #27716 failed in `pkg/tests/dml` with a cleanup timeout in `TestDataBranchDiffAsFile`. The PR changes information-schema view metadata parsing, persistence, and remote protocol handling; it does not change the failing test or the embedded-cluster cleanup lifecycle.

## Source PR and failed checks

- PR: https://github.com/matrixorigin/matrixone/pull/27716
- Exact tested head: `43e05db0318855f13898bb348955a361d24feca6`
- Workflow run: https://github.com/matrixorigin/matrixone/actions/runs/34453970444 (attempt 1)
- Failed job: [UT Test shard embedded on Ubuntu/x86](https://github.com/matrixorigin/matrixone/actions/runs/34453970444/job/102796156070)
- Related failed check: [UT Test on Ubuntu/x86](https://github.com/matrixorigin/matrixone/actions/runs/34453970444/job/102828024672) (the job did not expose a downloadable log)
- Derivative failed check: [CI Required](https://github.com/matrixorigin/matrixone/actions/runs/34453970444/job/102828036321)

The failing job ran:

```text
go test -mod=readonly -vet=off -short -v -json -tags matrixone_test -p 2 -timeout 40m -race github.com/matrixorigin/matrixone/pkg/tests/dml
```

## Failure log excerpt

The complete failed-job log contains the following stable signature:

```text
dml_test.go:316: drop cleanup database db_TestDataBranchDiffAsFile_818329738: context deadline exceeded
--- FAIL: TestDataBranchDiffAsFile (155.27s)
--- PASS: TestDataBranchDiffAsFile/single_pk_with_base (3.75s)
--- PASS: TestDataBranchDiffAsFile/composite_pk_with_base (3.69s)
--- PASS: TestDataBranchDiffAsFile/single_pk_without_base (0.80s)
--- PASS: TestDataBranchDiffAsFile/composite_pk_without_base (1.82s)
steps.ut.conclusion: failure
FAIL_UT_CASES=TestDataBranchDiffAsFile,
```

The same job also logged repeated pre-clean attempts to reach the Docker socket:

```text
failed to connect to the docker API at unix:///var/run/docker.sock;
connect: no such file or directory
```

## Independence evidence

Using the repository `mo-dev` CGo test wrapper with the CI-equivalent race, tags, and CGO settings, the exact focused test passed three consecutive times at the repaired PR candidate `e5f6e771e69574b531e5da34a98733d94362fdfb`.

The same exact focused test also passed three consecutive times on a clean current official `up/main` control checkout at `a9434ef1c692c661852fa3c418af9a4ce4dbf333`. No changed file in PR #27716 is under `pkg/tests/dml`, `pkg/embed`, LogService, HAKeeper, or the shared embedded-cluster cleanup lifecycle; the changed planner/protocol paths do not implement the failing database cleanup mechanism.

The focused command used for both control sets was:

```text
.agents/skills/mo-dev/scripts/mo-cgo-test -vet=off -short -v -json -tags matrixone_test -p 2 -timeout 40m -race -count=1 -run '^TestDataBranchDiffAsFile$' ./pkg/tests/dml
```

An open-issue search found no existing issue covering this exact test-and-timeout signature. Closed issue #25929 covers an earlier nil-pointer cleanup panic with a different signature, and closed issue #26519 covers a broader embedded-cluster timeout family; neither is reused as the tracker for this occurrence.

## Reproduction and impact

Run the command above on an Ubuntu/x86 CI worker with the MatrixOne `matrixone_test` race configuration and the normal embedded test-cluster setup. Under the observed timing/resource conditions, the test body can pass all subtests but fail while dropping its temporary database, causing the Ubuntu/x86 UT producer and the required aggregate check to fail.

This issue records the evidence before one failed-jobs rerun of workflow run `34453970444`.

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.