mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-29 19:21:01 +00:00
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.
35 KiB
35 KiB