Четверг, 30 декабря 2021, 23:24 +03:00 от Cyrill Gorcunov <gorcunov@gmail.com>:
 
To test that promotion requests are handled only when appropriate
write to WAL completes, because we update memory data before the
write finishes.

Note that without the patch "qsync: order access to the limbo terms"
this test fires the assertion
 
> tarantool: src/box/txn_limbo.c:481: txn_limbo_read_rollback: Assertion `e->txn->signature >= 0' failed.

Part-of #6036

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
 
The test looks good to me. But it flaky fails on my pc like this:
 

No output during 51 seconds. Will abort after 120 seconds without output. List of workers not reporting the status:

- 001_replication [replication/gh-6036-qsync-order.test.lua, None] at var/001_replication/gh-6036-qsync-order.result:0

[001] replication/gh-6036-qsync-order.test.lua                        [ fail ]

[001]

[001] Test failed! Result content mismatch:

[001] --- replication/gh-6036-qsync-order.result Mon Jan 10 14:10:07 2022

[001] +++ var/rejects/replication/gh-6036-qsync-order.reject Mon Jan 10 17:15:49 2022

[001] @@ -31,13 +31,16 @@

[001]   | ...

[001]  s = box.schema.create_space('test', {is_sync = true})

[001]   | ---

[001] + | - error: Can't modify data on a read-only instance - synchro queue with term 2 belongs

[001] + |     to 1 (1aab3988-56f6-434f-bf38-15174b9664a7)

[001]   | …

 
 
 
Besides, you’ll have to rewrite it in luatest, unfortunately.