源库有 XADD stream数据同步到目标库报错
问题描述(Issue Description)
请在这里简要描述你遇到的问题。
源库有 XADD stream数据同步到目标库报错 复现步骤:
- 源库插入命令: XADD mystream * field1 value1 field2 value2
- 启动redis-shake进行迁移
** 注 ** 只有全量阶段(rdb)会报错,增量阶段(aof)不会报stream 同步失败、
[ERR [writer_192.168.16.247_6379] receive reply failed. cmd=[restore mystream 0 ��P2�@L@cc�field1�2@ �value `2 �ac@�...], error=[ERR Bad data format]]
环境信息(Environment)
- RedisShake 版本(RedisShake Version):v4.0.2
- Redis 源端版本(Redis Source Version):v7.0.10
- Redis 目的端版本(Redis Destination Version):v6.0.8
- Redis 部署方式(standalone/cluster/sentinel):standalone
- 是否在云服务商实例上部署(Deployed on Cloud Provider):
日志信息(Logs)
如果有错误日志或其他相关日志,请在这里提供。
If there are any error logs or other relevant logs, please provide them here.
其他信息(Additional Information)
请提供任何其他相关的信息,如配置文件、错误信息或截图等。
Please provide any additional information, such as configuration files, error messages, or screenshots.
#631 一样的问题,修改target_redis_proto_max_bulk_len值为0,rdb阶段同步stream数据不报错了
说明源端和目的端版本不一致
说明源端和目的端版本不一致
- redis6->redis6 不报错
- redis6->redis7 不报错
- redis7->redis7 不报错
- redis7->redis6 报错,
报错通过target_redis_proto_max_bulk_len = 0 解决,有什么问题或者隐患吗?感谢及时回复
@wangshuang0220 7 到 6 报错是因为有编码不支持。target_redis_proto_max_bulk_len = 0 会让 shake 帮忙完成解码转成命令发送至远端,只是慢点,没有隐患。