v1.27.8
What's Changed
Bug Fixes
- fix: 修复 Redis 同步启动竞态导致的数据丢失风险
问题
NewSQLStore()构造时直接触发syncAll,在迁移和恢复逻辑之前就可能覆盖 Redis 备份auth_tokens空数据时会覆盖 Redis,而channels不会,策略不一致- worker 的单次同步操作没有 timeout 控制
修复
NewSQLStore()改为纯构造函数,不启动 worker(SRP)- 新增
StartRedisSync()显式启动方法,在迁移+恢复完成后调用 - 统一空数据同步策略:空数据不覆盖 Redis,保护备份
- 为
doSyncWithRetry添加 30s 单次操作超时 - 添加
syncType位标记支持细粒度同步(channels/auth_tokens)
附带修复
loadAuthTokensFromRedis补充cache_read/creation_tokens_total字段- 删除存储层 token 脱敏(展示层已处理)
Full Changelog: v1.27.7...v1.27.8