test: add improved test for SELECT consistency
The idea behind the new test is the same as the one used by vinyl/select_consistency.test.lua: create a space with a few compound secondary indexes that share the first part, then run SELECT requests under heavy write load and check that results match. However, in comparison to its predecessor, the new test has a few improvements: 1. It generates DML requests in multi-statement transactions. 2. It checks non-unique indexes. 3. It checks multikey indexes. 4. It triggers L0 dumps not by box.snapshot, but by exceeding the box.cfg.vinyl_memory limit. 5. It starts 20 write and 5 read fibers. 6. It reruns the test after restart to check that recovery works fine. 7. It checks that there's no phantom statements stored in the space indexes after the test. 8. It runs the test with deferred DELETEs enabled and disabled. (see box.cfg.vinyl_defer_deletes). 9. It is written in luatest. The test takes about 20 seconds to finish so it's marked as long run. Closes #4251 NO_DOC=test NO_CHANGELOG=test
Loading
Please register or sign in to comment