Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
db: fix ingested flushable range deletion iterator
When an ingested flushable creates a range deletion iterator, it uses the keyspanimpl.LevelIter to expose a unified view of all the range deletions across the files of the atomically ingested sstables. When loading a sstable's range deletion iterator failed, it returned a non-nil iterator to work around idiosyncroncies of the keyspanimpl.LevelIter. This could cause the LevelIter to mistakenly think it had already loaded a file's range deletions. This commit fixes ingestedFlushable.constructRangeDelIter to return a nil FragmentIterator if there's an error, and refactors (keyspanimpl.LevelIter).loadFile. Fix #3592.
- Loading branch information