pebble.Iterator treats SINGLEDEL the same as DEL, under the assumption that SINGLEDEL has been correctly used. However, if used incorrectly (e.g. SINGLEDEL layered above multiple older SETs), and before the incorrect behavior has been compacted away (either harmlessly or harmfully), user-facing iteration over the data will hide the incorrectness.
If we treat SINGLEDEL as deleting only a single SET, then the incorrectness will be visible -- this may be better in tests, and in replica divergence detection.
pebble.Iterator
treats SINGLEDEL the same as DEL, under the assumption that SINGLEDEL has been correctly used. However, if used incorrectly (e.g. SINGLEDEL layered above multiple older SETs), and before the incorrect behavior has been compacted away (either harmlessly or harmfully), user-facing iteration over the data will hide the incorrectness. If we treat SINGLEDEL as deleting only a single SET, then the incorrectness will be visible -- this may be better in tests, and in replica divergence detection.Relates to https://github.com/cockroachdb/cockroach/pull/116218 https://github.com/cockroachdb/cockroach/issues/114421
@jbowens
Jira issue: PEBBLE-122