Files
scylladb/cache_flat_mutation_reader.hh
Tomasz Grabiec cf958b0ad0 row_cache: Emit range tombstone adjacent to upper bound of population range
Cache populating reader was emitting the row entry which stands for
the upper bound of the population range, but did not emit range
tombstones for the clustering range corresponding to:

  [ before(key), after(key) ).

This surfaces after sstable readers are changed to trim emitted range
tombstones to the fast-forwarding range. Before, it didn't cause
problems, because that range tombstone part would be emitted as part
of the sstable read.

The fix is to drop the optimization which pushes the row after
population is done, and let the regular handling for
copy_from_cache_to_buffer() take care of emitting the row and
tombstones for the remaining range.

A unit test is added which covers population from all sstable
versions.
2021-06-16 00:23:49 +02:00

35 KiB