memtx: clarify tuples against given index in memtx_tx_snapshot_cleaner
Currently, we create `memtx_tx_snapshot_cleaner` for each index in read view. However, we somewhy clarify all tuples against primary index in all cleaners. As a result, secondary indexes work incorrectly in read view when MVCC is enabled, we may even get a tuple with one key, but a tuple with another key will be returned because it is clarified against primary index and repsects its order - that's wrong because all indexes have its own orders. Let's clarify tuples against given index to fix this mistake. Community Edition is not affected at all since it uses read view only for making a snapshot - we use only primary indexes there. Part of tarantool/tarantool-ee#939 NO_TEST=in EE NO_CHANGELOG=in EE NO_DOC=bugfix (cherry picked from commit 835fadd)
Loading
Please register or sign in to comment