Preserve expired but unreaped fields across listpack-to-hashtable conversion (#4704)
`hashTypeConvertListpack()` iterates with `hashTypeNext()`, which skips logically-expired fields, so a field whose TTL has passed but which the reaper hasn't collected yet never reaches the new hashtable. It's deleted as a side effect of an encoding change. ## What I did Bracket the conversion loop in `hashTypeIgnoreTTL()` so expired fields are carried across and the normal reaper deletes and propagates them. Also introduced a new function `hashTypeListpackTTLIsIgnored` which returns the file-scoped TTL Ignored boolean flag, this is used to save the state and then restore it. Closes #4699 --------- Signed-off-by: frostzt <aidenfrostbite@gmail.com>
S
Sourav Singh Rawat committed
7b87fee268b8f3de41e9e1fbd4bbb3f1a8fbd0aa
Parent: 1c847e8
Committed by GitHub <noreply@github.com>
on 9/18/2026, 7:29:51 AM