matrixorigin / matrixorigin/matrixone

[Bug][稳定性]: 4.2-dev NQFT 稳态查询持续 22 秒级 p95 长尾

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

Description

## Description

4.2-dev 分布式稳定性测试中的 NQFT(全文检索)在无故障注入条件下持续出现明显的稳态长尾。查询没有失败,但连续观测窗口的 p95 约为 22 秒、p99 约为 29 秒,吞吐约为 1.1–1.2 qps;这使稳定性线路长期处于性能告警状态。

## Environment

- Branch: `4.2-dev`
- MatrixOne image: `commit-4199b11`
- Namespace: `mo-stb-4-2-dev-c34850a-r34085053325-a1`
- Deployment: IDC 分布式稳定性集群(2 CN + 1 DN + 3 LogService + 1 Proxy)
- Test: Fulltext Vector Long Running Test,NQFT 8 路并发、300 秒统计窗口
- Test date: 2026-09-14

## Steps to reproduce

1. 在 4.2-dev 的分布式稳定性集群中启动 Fulltext Vector Long Running Test,并完成全文/向量测试数据和索引准备。
2. 持续执行 NQFT 查询负载,保持默认 8 路并发。
3. 读取连续的 300 秒 `[progress][nqft]` 统计窗口。

启动测试的 Actions job:
https://github.com/matrixorigin/mo-nightly-regression/actions/runs/34085053325/job/101631283579

## Actual behavior

2026-09-14 15:00–15:18 CST 的连续三个独立 300 秒窗口均出现稳定长尾:

| Window | success / total | avg | p50 | p95 | p99 | qps |
| --- | --- | --- | --- | --- | --- | --- |
| 1 | 345 / 345 | 6887.2 ms | 3443.6 ms | 22129.9 ms | 29121.7 ms | 1.1 |
| 2 | 350 / 350 | 6863.6 ms | 3444.3 ms | 22098.0 ms | 29100.6 ms | 1.2 |
| 3 | 344 / 344 | 6967.5 ms | 3699.8 ms | 21967.4 ms | 29125.9 ms | 1.1 |

失败数均为 0;但 p95 长期维持在约 22 秒,并非单次尖峰。

## Expected behavior

在无故障注入、无 Pod 重启、无 OOM 的稳定性测试中,NQFT 应保持接近 main 稳态水平,不应长期出现 20 秒级 p95 / 29 秒级 p99 长尾并持续触发性能告警。

## Stability and controls

- Reproducer: 连续 3 / 3 个独立的 300 秒统计窗口均复现高 p95 长尾。
- Same-run control: 所有窗口 `failure=0`,确认不是客户端失败计数或统计中断造成的告警。
- Cross-branch control: 同一时段 main 稳定性 NQFT 的连续三个 300 秒窗口 p95 为 3196.9–3222.6 ms,p99 为 8145.6–8188.3 ms,吞吐约 8.7–8.8 qps。
- Cluster health control: 24 小时范围内未观察到该 namespace 的 Pod 重启或 OOM;该测试没有 Chaos 故障注入。
- Workload is read-only; 未观察到数据正确性或一致性异常。

## Evidence

- 4.2-dev stability run: https://github.com/matrixorigin/mo-nightly-regression/actions/runs/34085053325
- Fulltext startup job: https://github.com/matrixorigin/mo-nightly-regression/actions/runs/34085053325/job/101631283579
- Loki source: `128-long-running-fulltext-vector`,文件
`/data1/stability-test/34085053325_a1_c34850a/fulltext-vector-test/mo-nightly-regression/script/fulltext_vector.log`
- Main comparison source:
`/data1/stability-test/33971015458_a2_845fff8/fulltext-vector-test/mo-nightly-regression/script/fulltext_vector.log`

## Code analysis

当前证据表明问题发生在 4.2-dev 的 NQFT 稳态执行路径,且与测试进程退出、故障注入、OOM 或 Pod 重启无关。尚未定位到 FULLTEXT 查询、索引访问、FileService 或执行器中的具体阻塞点,需要结合慢查询采样与 CN profile 继续定位。

## Regression coverage

修复后应在分布式稳定性覆盖中保留 NQFT 的连续窗口延迟采集,并对多窗口 p95/p99 建立阈值检查;同时保留 main 与 4.2-dev 的同负载对照,避免只依据 `failure=0` 掩盖持续性能退化。

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.