Стенды: ALT Server 11.0 (Обновленный до Sisyphus) Версия пакета: valkey-9.0.3 Шаги воспроизведения: 1. Установить пакет: # apt-get install valkey 2. # sed -i 's/^appendonly no/appendonly yes/' /etc/valkey/valkey.conf && systemctl restart valkey; systemctl status valkey 3. # valkey-cli hset person id 123 && valkey-cli save 4. # valkey-check-aof /var/lib/valkey/appendonlydir/appendonly.aof.manifest Ожидаемый результат: Start checking Multi Part AOF Start to check BASE AOF (RDB format). [offset 0] Checking RDB file /var/lib/valkey/appendonlydir/appendonly.aof.2.base.rdb [offset 27] AUX FIELD valkey-ver = '8.1.4' [offset 41] AUX FIELD redis-bits = '64' [offset 53] AUX FIELD ctime = '1772614722' [offset 68] AUX FIELD used-mem = '947392' [offset 80] AUX FIELD aof-base = '1' [offset 82] Selecting DB ID 0 [offset 116] Checksum OK [offset 116] \o/ RDB looks OK! \o/ [info] 1 keys read [info] 0 expires [info] 0 already expired RDB preamble is OK, proceeding with AOF tail... AOF analyzed: filename=appendonly.aof.2.base.rdb, size=116, ok_up_to=116, ok_up_to_line=1, diff=0 BASE AOF appendonly.aof.2.base.rdb is valid Start to check INCR files. INCR AOF appendonly.aof.2.incr.aof is empty All AOF files and manifest are valid Реальный результат: Start checking Multi Part AOF Start to check BASE AOF (RESP format). AOF appendonly.aof.1.base.rdb format error AOF analyzed: filename=appendonly.aof.1.base.rdb, size=89, ok_up_to=0, ok_up_to_line=1, diff=89 AOF appendonly.aof.1.base.rdb is not valid. Use the --fix option to try fixing it. Дополнительно: Не воспроизводиться в P11 Использование флага --fix, который указывается в реальном результате, не решает проблему
valkey-9.0.3-alt1: # xxd /var/lib/valkey/appendonlydir/appendonly.aof.1.base.rdb | head -1 00000000: 5641 4c4b 4559 3038 30fa 0a76 616c 6b65 VALKEY080..valke valkey-8.1.4-alt2: # xxd /var/lib/valkey/appendonlydir/appendonly.aof.1.base.rdb | head -1 00000000: 5245 4449 5330 3031 31fa 0a76 616c 6b65 REDIS0011..valke Возможная причина: "В Valkey 8.x и Redis файл RDB начинался с REDIS0011 (магическое слово REDIS). Начиная с Valkey 9.0, magic bytes были изменены с REDIS на VALKEY, чтобы форматы явно различались. Однако valkey-check-aof по-прежнему ищет сигнатуру REDIS для определения RDB-формата. Не находя её, он ошибочно классифицирует файл как RESP format и сообщает об ошибке — хотя сам файл абсолютно валиден."