tools

KeyValueStore Tools 0.2.1 Moves to the Newest Redis and Valkey Patches

Three of the tools answer from recordings of real servers: the Memory Calculator, the Config Checker and the ACL Builder. Each recording comes from one patch release, and patch releases are supposed to be quiet. Version 0.2 added a monthly check that builds the newest patch of every tracked line, records it and replays it through the tools as they are, to find out whether they really are.

Its first run said no. The eight newer Redis patches matched to the byte. The five newer Valkey patches didn’t, all in the ACL Builder’s area and two in the Config Checker’s.

The differences the monthly check found on five Valkey patches, and no differences on all 15 versions after the update.

What Changed in the Patches

Valkey 7.2.15 removed the sanitize-dump-payload setting. A config file may still name it and the server starts, but it ignores the line, and CONFIG GET no longer lists it. The ACL rule sanitize-payload went with it: ACL SETUSER still takes it, but ACL LIST no longer prints it. That one change accounts for most of the 5,078 differences the check found on 7.2.15.

An ACL file with an unclosed selector, such as user x (+get, used to crash Valkey on ACL LOAD. On 7.2.15, 8.0.12, 8.1.11, 9.0.7 and 9.1.3 it gets an error instead. And Valkey 9.1.3 reads hexadecimal numbers again where a setting takes decimals: latency-tracking-info-percentiles 0x1p5 99 gives 32 and 99, where 9.1.2 refused to start.

What 0.2.1 Does

The tracked versions are now the newest patch of each line: Redis 6.2.24 to 8.10.3 and Valkey 7.2.15 to 9.1.3. All 15 were built from source and recorded again, and the three tools changed until replay showed no differences: 97,211 memory cases, 66,287 config files and 71,288 ACL SETUSER calls among the rest. Ask about an older patch, such as Valkey 9.1.2, and the tools answer for the newest patch of that line, so the differences above are worth knowing if you haven’t upgraded.

The code and the 0.2.1 package are on GitHub, and every tool is on the tools page.