RedisShake icon indicating copy to clipboard operation
RedisShake copied to clipboard

unknown rdb value type byte. key=[], type=[200]

Open robert1070 opened this issue 5 months ago • 9 comments

问题描述(Issue Description)

请在这里简要描述你遇到的问题。

源:6.2.7 目标:6.2.7

Please provide a brief description of the issue you encountered.

环境信息(Environment)

  • RedisShake 版本(RedisShake Version):v4.0.3
  • Redis 源端版本(Redis Source Version):6.2.7
  • Redis 目的端版本(Redis Destination Version):6.2.7
  • Redis 部署方式(standalone/cluster/sentinel):cluster
  • 是否在云服务商实例上部署(Deployed on Cloud Provider):无

日志信息(Logs)

image

robert1070 avatar Mar 11 '24 13:03 robert1070

用一下新版本试试,新版本也不行的话请发 dump.rdb 过来我排查一下。 https://github.com/tair-opensource/RedisShake/releases/tag/v4.0.5

suxb201 avatar Mar 12 '24 02:03 suxb201

v4.0.4 也尝试过,报错信息是一样的

robert1070 avatar Mar 12 '24 02:03 robert1070

用一下新版本 4.0.5 试试,也不行的话请发 dump.rdb 过来我排查一下。

suxb201 avatar Mar 12 '24 02:03 suxb201

以下的几个版本都不行,报错是一样: 06708ebe86747555ff268e495b8b063e redis_shake_3.1.11 fb38221977d956cdb4c67fa48e92a0e9 redis_shake_4.0.4 ef294fedf1db5d701c70c5a2f1100753 redis_shake_4.0.3 4805c7821489fdcbe2172f013e322677 redis_shake_4.0.5

robert1070 avatar Mar 12 '24 02:03 robert1070

请发 dump.rdb 过来我排查一下。

suxb201 avatar Mar 12 '24 02:03 suxb201

稍等,文件稍微大一点,我在上传谷歌云盘

robert1070 avatar Mar 12 '24 02:03 robert1070

这个下载地址,文件比较大: https://drive.google.com/file/d/1crlaqXZillKItr-6wFGEQfi_U1F9a4bY/view?usp=drive_link

robert1070 avatar Mar 12 '24 02:03 robert1070

97727:C 12 Mar 2024 14:07:48.497 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
97727:C 12 Mar 2024 14:07:48.497 * Redis version=7.2.3, bits=64, commit=00000000, modified=0, pid=97727, just started
97727:C 12 Mar 2024 14:07:48.497 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
97727:M 12 Mar 2024 14:07:48.498 * Increased maximum number of open files to 10032 (it was originally set to 256).
97727:M 12 Mar 2024 14:07:48.498 * monotonic clock: POSIX clock_gettime
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 7.2.3 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 97727
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           https://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

97727:M 12 Mar 2024 14:07:48.501 # WARNING: The TCP backlog setting of 511 cannot be enforced because kern.ipc.somaxconn is set to the lower value of 128.
97727:M 12 Mar 2024 14:07:48.501 * Server initialized
97727:M 12 Mar 2024 14:07:48.502 * Loading RDB produced by version 6.2.7
97727:M 12 Mar 2024 14:07:48.502 * RDB age 12150 seconds
97727:M 12 Mar 2024 14:07:48.502 * RDB memory usage when created 563.62 Mb
97727:M 12 Mar 2024 14:07:48.502 # Internal error in RDB reading offset 0, function at rdb.c:2845 -> Unknown RDB encoding type 200
[offset 0] Checking RDB file dump.rdb
[offset 26] AUX FIELD redis-ver = '6.2.7'
[offset 40] AUX FIELD redis-bits = '64'
[offset 52] AUX FIELD ctime = '1710211518'
[offset 67] AUX FIELD used-mem = '591001008'
[offset 85] AUX FIELD repl-stream-db = '0'
[offset 135] AUX FIELD repl-id = '290e3ddc8ff847e518151ebac3463ddfae45260d'
[offset 159] AUX FIELD repl-offset = '6270783677'
[offset 175] AUX FIELD aof-preamble = '0'
--- RDB ERROR DETECTED ---
[offset 176] Invalid object type: 200
[additional info] While doing: read-type
[additional info] Reading type 0 (string)
[info] 0 keys read
[info] 0 expires
[info] 0 already expired

使用 Redis 也无法加载此 dump.rdb,请考虑是不是使用了闭源代码或者文件损坏。

suxb201 avatar Mar 12 '24 06:03 suxb201

感谢大佬,终于破案了,是我们内部自研的维护的版本

robert1070 avatar Mar 13 '24 08:03 robert1070