Files
go-omni/performance/loggingUploadsAcceptance.md

15 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 日志与上传扩展验收
2026-09-23,在 macOS arm64 / Go 1.27.1 开发环境完成;真实 S3 测试使用本机 Docker 内 Linux arm64 MinIO。此次未在业务服务器运行测试负载。
- 全库:`GOMAXPROCS=4 GO_OMNI_SCAFFOLD_INTEGRATION=1 go test -race -p=2 -count=1 -timeout=240s ./...`,37 个有测试的包通过,包含脚手架集成和全部网络适配器。
- 收尾新增业务错误堆栈、统一分片 MIME 签名及大小不符契约后,对 logx、middleware、storage 全部子包、config、app 重新运行 race,全部通过。
- `go vet ./...`、`go build ./...`、`git diff --check` 通过。
- 轮转:并发写入、备份份数、gzip 内容完整性、关闭后不重开;脱敏:嵌套 map/struct/group/LogValuer、循环截断、不修改调用者数据;HTTP:慢请求 WARN、5xx ERROR、panic 堆栈和已提交状态保持。
- 上传:Local 签名篡改/超时参数/重复参数/类型伪造/实际大小不符/失败不覆盖;S3/OSS SDK 协议及分片分页;R2 签名参数。
- 真实 MinIO:SDK/签名直传、两片合并、分页续传查询、重复取消、声明大小伪造、签名绑定大小和类型(篡改返回 403)、普通对象契约。测试环境最多一个容器,2 CPU、2 GiB、256 pids,network=none,无端口映射;退出后清理。
真实 S3 的运行命令、源码 SHA-256、镜像 ID、清理状态和日志摘要见 [uploadsLocal.json](uploadsLocal.json),原始输出见 [uploadsLocal.txt](uploadsLocal.txt)。可用 `python3 scripts/verifyUploads.py` 复现(提前准备对应 MinIO 镜像)。
边界:OSS/R2 未使用云账号实测;HTTP fixture 不验证厂商签名。MinIO 的通过结果不能代替它们的实网验收。本地存储目前提供受限签名上传,不提供持久分片会话。分片实际内容校验、业务授权、对象归属、上传配额和过期分片清理由业务/部署配置。未做生产负载、磁盘耗尽、日志平台采集或云存储故障恢复验收。