vinyl: do not yield on dump completion
The fact that we may yield after we added a new slice created by dump, but before we removed the dumped in-memory index from the LSM tree complicates read iterator logic, as it has to detect such a case and filter out sources that contain duplicates. This logic relies on the fact that no two slices of the same range intersect by LSN. For the sake of ALTER we have to relax this limitation, as statements inserted during index build can have arbitrary (not monotonically growing) LSNs, so the no-LSN-intersection property won't be fulfilled for whole slices, only for individual keys. Since there shouldn't be more than 1000 ranges in the same LSM tree, yielding doesn't make much sense as iteration over the whole range tree should be pretty fast. Besides, dump isn't done frequently. That said, let's remove yielding altogether. Needed for #1653
Loading
Please register or sign in to comment