From 9f5e82281e68fd7e3ffbea73c1c0ac2f79ab0cc9 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Tue, 5 May 2026 18:08:18 +0800 Subject: [PATCH] =?UTF-8?q?notice:=20wx=20=E5=86=85=E5=AE=B9=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E6=96=B9=E6=A1=88=E6=AD=A3=E5=BC=8F=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E6=9C=9F=20BadSqlGrammar=20=E5=B7=B2?= =?UTF-8?q?=E8=87=AA=E6=84=88=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e_wx-security-prod-deploy-window-glitch.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 changelogs/2026-05/05_notice_wx-security-prod-deploy-window-glitch.md diff --git a/changelogs/2026-05/05_notice_wx-security-prod-deploy-window-glitch.md b/changelogs/2026-05/05_notice_wx-security-prod-deploy-window-glitch.md new file mode 100644 index 0000000..dba86c1 --- /dev/null +++ b/changelogs/2026-05/05_notice_wx-security-prod-deploy-window-glitch.md @@ -0,0 +1,34 @@ +# 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。本次是滚动部署的固有特征,不是回归性问题。