There is 2 bugs in the way sstable iterators handle range tombstones:
- empty range tombstones can be returned due to a strict comparison that shouldn't be.
- the sstable reversed iterator can actually return completely bogus results when range tombstones are spanning multiple index blocks.
The 2 bugs are admittedly separate but as they both impact the same area of code and are both range tombstones related, I suggest just fixing both here (unless something really really mind).
Marking the ticket critical mostly for the 2nd bug: it can truly make use return bad results on reverse queries.