ERM redis data_error ai_generated true

流条目大小超出服务器限制

ERR stream entry size exceeds server limits

ID: redis/stream-entry-too-large

其他格式: JSON · Markdown 中文 · English
88%修复率
85%置信度
1证据数
2024-03-15首次发现

版本兼容性

版本状态引入弃用备注
7.0 active
7.2 active
7.4 active

根因分析

单个流条目大小超过了配置的 stream-node-max-bytes 限制,导致无法插入。

English

A single stream entry exceeds the configured stream-node-max-bytes limit, preventing insertion.

generic

官方文档

https://redis.io/docs/latest/commands/xadd/

解决方案

  1. 将数据拆分为多个流条目,每个条目小于 stream-node-max-bytes(默认 4KB)。例如:'XADD mystream * field1 value1' 然后 'XADD mystream * field2 value2'。
  2. 运行 'CONFIG SET stream-node-max-bytes 65536' 允许 64KB 条目,然后重试 XADD。

无效尝试

常见但无效的做法:

  1. 65% 失败

    Only masks the issue; large entries cause memory fragmentation and slow replication.

  2. 95% 失败

    The entry remains too large; retry will fail repeatedly.

  3. 80% 失败

    Removes protection; can lead to out-of-memory crashes and replication lag.