ERM
redis
data_error
ai_generated
true
检测到消费者组偏移回滚:last-delivered-id < oldest-id
ERR Consumer group offset rollback detected: last-delivered-id < oldest-id
ID: redis/stream-consumer-group-offset-rollback
90%修复率
83%置信度
1证据数
2024-01-25首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 6.2 | active | — | — | — |
| 7.0 | active | — | — | — |
| 7.2 | active | — | — | — |
根因分析
流被修剪或删除,导致消费者组的 last-delivered-id 早于流中最旧的条目,导致状态不一致。
English
The stream was trimmed or deleted, causing the consumer group's last-delivered-id to be older than the oldest entry in the stream, leading to an inconsistent state.
官方文档
https://redis.io/docs/latest/commands/xgroup-setid/解决方案
-
运行 'XGROUP SETID mystream mygroup 0-0' 重置到开头,然后使用 XREADGROUP 从最旧条目重新处理。
-
设置 XTRIM 的最小 ID 早于组的 last-delivered-id:'XTRIM mystream MINID ~ <last-delivered-id>'。
无效尝试
常见但无效的做法:
-
70% 失败
May cause duplicate processing of already-consumed messages.
-
60% 失败
Loses all pending messages and consumer state; not suitable for production.
-
90% 失败
Consumer group will be stuck; no new messages delivered.