Revert "vinyl: force read view in iterator in autocommit mode"
This reverts commit a31c2c10. The commit reverted by this patch forces all autocommit SELECTs to open a read view immediately, as a result they can't update tuple cache. Turned out that one of our customers intensively uses such SELECTs, and disabling cache for them results in performance degradation. The reason why that commit was introduced in the first place was to avoid read set bloating for big SELECTs (e.g. space.count()): currently we track not only read interval boundaries, but also each tuple fetched from the primary index if it is a secondary index that is being scanned. However, it doesn't seem that we really need to do that - tracking an interval read from a secondary index guarantees that if a tuple returned by the iterator is modified the transaction will be aborted and so there's no need to track individual tuples read from the primary index. That said, let's revert this commit and instead remove point lookup tracking in case it is a secondary index that is being scanned (done later in the series).
Showing
- src/box/vinyl.c 54 additions, 74 deletionssrc/box/vinyl.c
- src/box/vy_tx.c 6 additions, 6 deletionssrc/box/vy_tx.c
- src/box/vy_tx.h 8 additions, 9 deletionssrc/box/vy_tx.h
- test/engine/iterator.result 6 additions, 10 deletionstest/engine/iterator.result
- test/engine/iterator.test.lua 0 additions, 8 deletionstest/engine/iterator.test.lua
- test/vinyl/cache.result 10 additions, 12 deletionstest/vinyl/cache.result
- test/vinyl/cache.test.lua 5 additions, 7 deletionstest/vinyl/cache.test.lua
- test/vinyl/errinj.result 11 additions, 8 deletionstest/vinyl/errinj.result
- test/vinyl/errinj.test.lua 6 additions, 5 deletionstest/vinyl/errinj.test.lua
- test/vinyl/iterator.result 65 additions, 45 deletionstest/vinyl/iterator.result
- test/vinyl/partial_dump.result 1 addition, 16 deletionstest/vinyl/partial_dump.result
- test/vinyl/partial_dump.test.lua 1 addition, 12 deletionstest/vinyl/partial_dump.test.lua
- test/vinyl/tx_gap_lock.result 0 additions, 43 deletionstest/vinyl/tx_gap_lock.result
- test/vinyl/tx_gap_lock.test.lua 0 additions, 15 deletionstest/vinyl/tx_gap_lock.test.lua
Loading
Please register or sign in to comment