fix: 云库新增慢查询入口 querySlow(池级超时放宽) #65

Merged
youruo merged 1 commits from codex/cloud-db-slow-query-1014 into main 2026-10-14 13:12:41 +08:00
Collaborator

背景

PR #64 把动销分析销量扩为 4 来源 union 后,全仓窗口查询 ~2 分钟,超过云库 60s 默认超时,接口报 Timeout: Request failed to complete in 60000ms。

实证

mssql 12.2.0 驱动 request.timeout(请求级,代码里已设 120000)实测不生效——WAITFOR DELAY 70s 在显式 180s 下仍在 60.9s 被掐;而池配置级 requestTimeout 生效(60s 准时触发)。

修复

  • queryWithCandidateConnection 支持 options.connectRequestTimeoutMs 覆盖池级 requestTimeout
  • 新增 querySlow 导出:默认池级 300s(env CLOUD_DB_SLOW_QUERY_TIMEOUT_MS 可调),走独立临时连接
  • 动销分析 service 优先走 querySlow,无该方法(mock)时回退 query

验证

  • 单测 10/10 通过
  • 分支计时:orders-normal 48.1s / orders-combine 4.4s / qmcust-normal 65.5s,union 总时长 <300s
## 背景 PR #64 把动销分析销量扩为 4 来源 union 后,全仓窗口查询 ~2 分钟,超过云库 60s 默认超时,接口报 Timeout: Request failed to complete in 60000ms。 ## 实证 mssql 12.2.0 驱动 request.timeout(请求级,代码里已设 120000)实测不生效——WAITFOR DELAY 70s 在显式 180s 下仍在 60.9s 被掐;而池配置级 requestTimeout 生效(60s 准时触发)。 ## 修复 - queryWithCandidateConnection 支持 options.connectRequestTimeoutMs 覆盖池级 requestTimeout - 新增 querySlow 导出:默认池级 300s(env CLOUD_DB_SLOW_QUERY_TIMEOUT_MS 可调),走独立临时连接 - 动销分析 service 优先走 querySlow,无该方法(mock)时回退 query ## 验证 - 单测 10/10 通过 - 分支计时:orders-normal 48.1s / orders-combine 4.4s / qmcust-normal 65.5s,union 总时长 <300s
youruo added 1 commit 2026-10-14 13:12:37 +08:00
mssql 12.2.0 驱动 request.timeout(请求级)实测不生效,超过池默认
60s 的查询必被掐断。动销分析销量 union 4 来源后全仓窗口需 ~2 分钟,
触发 Timeout: Request failed to complete in 60000ms。

- queryWithCandidateConnection 支持 options.connectRequestTimeoutMs
  覆盖候选连接的池级 requestTimeout(池级实测生效)
- 新增 querySlow(sqlText, params, options):独立临时连接 + 池级超时
  默认 300s(env CLOUD_DB_SLOW_QUERY_TIMEOUT_MS 可调)
- 动销分析取数优先走 querySlow(mock 环境无该方法时回退 query)
youruo merged commit e5030d4864 into main 2026-10-14 13:12:41 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lunanting/cangku#65
No description provided.