<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>58109</bug_id>
          
          <creation_ts>2026-03-04 13:08:37 +0300</creation_ts>
          <short_desc>valkey-check-aof некорректно проверяет Multi-Part AOF-файлы</short_desc>
          <delta_ts>2026-03-05 10:25:21 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>valkey</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Михаил Ногин">noginmo</reporter>
          <assigned_to name="Alexey Shabalin">shaba</assigned_to>
          <cc>amakeenk</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>283146</commentid>
    <comment_count>0</comment_count>
    <who name="Михаил Ногин">noginmo</who>
    <bug_when>2026-03-04 13:08:37 +0300</bug_when>
    <thetext>Стенды:
ALT Server 11.0 (Обновленный до Sisyphus)

Версия пакета:
valkey-9.0.3

Шаги воспроизведения:
1. Установить пакет: # apt-get install valkey
2. # sed -i &apos;s/^appendonly no/appendonly yes/&apos; /etc/valkey/valkey.conf &amp;&amp; systemctl restart valkey; systemctl status valkey
3. # valkey-cli hset person id 123 &amp;&amp; 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 = &apos;8.1.4&apos;  
[offset 41] AUX FIELD redis-bits = &apos;64&apos;  
[offset 53] AUX FIELD ctime = &apos;1772614722&apos;  
[offset 68] AUX FIELD used-mem = &apos;947392&apos;  
[offset 80] AUX FIELD aof-base = &apos;1&apos;  
[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, который указывается в реальном результате, не решает проблему</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283242</commentid>
    <comment_count>1</comment_count>
    <who name="Alexander Makeenkov">amakeenk</who>
    <bug_when>2026-03-05 10:25:21 +0300</bug_when>
    <thetext>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

Возможная причина:

&quot;В Valkey 8.x и Redis файл RDB начинался с REDIS0011 (магическое слово REDIS). Начиная с Valkey 9.0, magic bytes были изменены с REDIS на VALKEY, чтобы форматы явно различались. Однако valkey-check-aof по-прежнему ищет сигнатуру REDIS для определения RDB-формата. Не находя её, он ошибочно классифицирует файл как RESP format и сообщает об ошибке — хотя сам файл абсолютно валиден.&quot;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>