{"content":"metaso-p2p 开发日志|fix: use duration units for chat cache TTLs\n\n提交:427269f\n\n生产 perf 采样定位到三个持续占满 CPU 的 hashicorp expirable LRU 清理 goroutine。privatechat、groupchat、notify 的缓存 TTL 原来写为 5 * 60,注释意图是 5 分钟,但传入 time.Duration 后实际值仅为 300 纳秒。LRU 按 TTL/100 建立过期分桶 ticker,导致三个约 3 纳秒周期的忙循环,长期占满双核服务器。\n\n改动:三处 TTL 均改为类型明确的 5 * time.Minute,并分别增加回归测试锁定分钟级单位。\n\n验证:相关三个 aggregator 包测试通过;GODEBUG=http2client=0 GOPROXY=https://goproxy.cn GOSUMDB=off CGO_ENABLED=0 go test ./... 全仓通过;git diff --check 通过。","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}