Skip to content
Snippets Groups Projects
Commit ec278865 authored by Vladimir Davydov's avatar Vladimir Davydov
Browse files

vinyl: don't move to next range if it doesn't match EQ search key

When iterating over a vinyl index, we move to the next range if the
minimal (in terms of the search criteria) statement among all sources
is outside the current range - see vy_read_iterator_next_key() and
vy_read_iterator_range_is_done(). This is OK for GE/GT/LE/LT, but for
EQ/REQ we should also make sure that the next range actually intersects
with the search key - if it doesn't, there's no point in iterating to
it. We used to have that check, but commit 5e414a73 ("vinyl: read
iterator: do not reopen all sources when range is changed") accidentally
removed it. As a result, unlimited EQ/REQ requests for partial keys read
runs of all ranges and therefore take much longer. This patch brings
this check back.
parent 64faad37
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment