# 检测到消费者组偏移回滚：last-delivered-id < oldest-id

- **ID:** `redis/stream-consumer-group-offset-rollback`
- **领域:** redis
- **类别:** data_error
- **错误码:** `ERM`
- **验证级别:** ai_generated
- **修复率:** 90%

## 根因

流被修剪或删除，导致消费者组的 last-delivered-id 早于流中最旧的条目，导致状态不一致。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 6.2 | active | — | — |
| 7.0 | active | — | — |
| 7.2 | active | — | — |

## 解决方案

1. ```
   运行 'XGROUP SETID mystream mygroup 0-0' 重置到开头，然后使用 XREADGROUP 从最旧条目重新处理。
   ```
2. ```
   设置 XTRIM 的最小 ID 早于组的 last-delivered-id：'XTRIM mystream MINID ~ <last-delivered-id>'。
   ```

## 无效尝试

- **** — May cause duplicate processing of already-consumed messages. (70% 失败率)
- **** — Loses all pending messages and consumer state; not suitable for production. (60% 失败率)
- **** — Consumer group will be stuck; no new messages delivered. (90% 失败率)
