hl-api-changelog/changelogs/2026-05/05_notice_wx-security-prod-deploy-window-glitch.md

35 行
1.5 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# notice: wx 内容安全方案正式部署窗口期短暂错误(已自愈)
**日期**: 2026-05-05
**影响时段**: 17:23 - 17:54约 31 分钟,部署滚动窗口)
**症状**: `/mp/review/featured?limit=5` 等评价相关接口偶发返 `BadSqlGrammarException`
## 根因
正式服部署 wx 内容安全方案 Phase 1-2E 时:
- **17:23** 用户合并 main HEAD `e8ef4824`
- **17:35** RDS 部分 ALTER 已落V005 给 order_review 加 4 列report_count / report_status / hidden_at / hidden_reason
- **17:43** 前端拿到 BadSqlGrammar — 老镜像 `e89f0fc1` 还活着,但其代码不知道新列的 entity 映射
- **17:46-17:54** K8s 滚动完成,4 服务全到 `e8ef4824` → 自愈
属于"schema 增量先行 + 镜像滚动后行"的行业通病窗口5-30 min 不等)。
## 现状QA 18:06 确认)
49 次双环境 API 测试全过:
- 0 BLOCKING / 0 5xx 非业务 / 0 BadSqlGrammar
- 11 个 wx 内容安全新路径全 OK
- 评价/投诉/退款/反馈/举报 5 个写接口 401 鉴权链路正确
- 边界值limit 0/100/-1/abc / 无效 type全过
## 预防
后续大版本部署建议:
1. ALTER 增量 SQL 必保持向后兼容(新增列必须 NULL 或带 DEFAULT,禁止 NOT NULL 无默认)— 项目已是规则
2. 删列/改类型场景必须分两次部署(先两边读写、再删列)— 本次未踩到
3. 部署时间挑低峰期(凌晨)减少瞬时窗口暴露给真实用户
## 不需修复
代码层面无 BUG。本次是滚动部署的固有特征,不是回归性问题。