memtx: fix tuples references on concurrent replaces
Since 527b02a2 (memtx: add yields during index build) memtx_build_on_replace was introduced to handle concurrent updates. The problem here was that the tuples being handled with this trigger did not get reference counter promotion, leading to a number of wrong behavior cases. Now this problem is solved. This problem was found through primary index altering with updates in background fiber. Corresponding test is introduced. Closes #4973
Showing
- src/box/memtx_space.c 7 additions, 1 deletionsrc/box/memtx_space.c
- test/engine/engine.cfg 4 additions, 1 deletiontest/engine/engine.cfg
- test/engine/gh-4973-concurrent-alter-fails.result 74 additions, 0 deletionstest/engine/gh-4973-concurrent-alter-fails.result
- test/engine/gh-4973-concurrent-alter-fails.test.lua 32 additions, 0 deletionstest/engine/gh-4973-concurrent-alter-fails.test.lua
Loading
Please register or sign in to comment