-
Type: Technical Debt
-
Resolution: Fixed
-
Priority: Minor - P4
-
Affects Version/s: None
-
Component/s: None
Currently test_salvage01 (and test_encrypt07, which reuses it) performs intentional data corruption by searching for a single row value in the on-disk file. This is fine for VLCS and row-store where the values are strings, but for FLCS a single value is a single byte and this is highly prone to matching in the wrong place; and sometimes in that case the corruption is unsalvageable (e.g. root page bad) and the test fails.
This finally broke on me today, so I decided it was time to deal with it.
I've fixed it so that in FLCS it searches to search for a sequence of bytes in adjacent rows. This still can break arbitrarily (if the sequence ends up spanning a page boundary, we won't be able to find it) but it's far less likely to.