[Tarantool-patches] [PATCH 0/4 v3] Additional qsync tests

sergeyb at tarantool.org sergeyb at tarantool.org
Tue Nov 17 19:13:47 MSK 2020


From: Sergey Bronnikov <sergeyb at tarantool.org>

Changes v3:

- added negative case with 'broken' quorum in test with random leader
- reduced a number of iterations from 200 to 30 in test with random leader
- moved testcase with box.ctl.clear_synchro_queue() on unconfigured box from
  replication/qsync_basic.test.lua to app-tap/cfg.test.lua (added as separate
  patch).
- added wait_cond() to get final box.space.sync:count()

Changes v2:

- removed negative case in test with random leader: no more stuck tx's in a
  limbo before switching a leader. I spend couple of hours to get it work, but
failed. Some details: to avoid block a loop I should execute tx in a fiber when
quorum is set to 'broken', but both test_run:eval() and insert via netbox
connection in a fiber haven't insert value even when fiber is dead.
- check inserted values in test with random leader as Sergey asked on previous
  review
- removed negative case in test with random sync/async mode, Sergey said it is
  pointless [1]
- added test with change enable/disable sync mode, it has LGTM from Sergey [1]
- reduced a cluster size in test with random leader from 32 to 5 instances as
  Vlad asked on previous review
- aligned tests with 80 symbols per line
- adjusted values of synchro timeouts in box.cfg to make tests more reliable

GH branch: ligurio/gh-4842-qsync-testing
Github issue: https://github.com/tarantool/tarantool/issues/5055
Gitlab CI: https://gitlab.com/tarantool/tarantool/-/pipelines/217357503

1. https://lists.tarantool.org/pipermail/tarantool-patches/2020-September/019227.html

Sergey Bronnikov (4):
  replication: run clear_synchro_queue() with unconfigured box
  replication: test clear_synchro_queue() function
  replication: add test with random leaders promotion and demotion
  replication: add test with change space sync mode in a loop

 test/app-tap/cfg.test.lua                     |   8 +-
 test/replication/qsync.lua                    |  31 ++++
 test/replication/qsync1.lua                   |   1 +
 test/replication/qsync2.lua                   |   1 +
 test/replication/qsync3.lua                   |   1 +
 test/replication/qsync4.lua                   |   1 +
 test/replication/qsync5.lua                   |   1 +
 test/replication/qsync_basic.result           | 129 +++++++++++++++
 test/replication/qsync_basic.test.lua         |  45 ++++++
 test/replication/qsync_random_leader.result   | 148 ++++++++++++++++++
 test/replication/qsync_random_leader.test.lua |  76 +++++++++
 test/replication/qsync_sync_mode.result       | 114 ++++++++++++++
 test/replication/qsync_sync_mode.test.lua     |  56 +++++++
 13 files changed, 611 insertions(+), 1 deletion(-)
 create mode 100644 test/replication/qsync.lua
 create mode 120000 test/replication/qsync1.lua
 create mode 120000 test/replication/qsync2.lua
 create mode 120000 test/replication/qsync3.lua
 create mode 120000 test/replication/qsync4.lua
 create mode 120000 test/replication/qsync5.lua
 create mode 100644 test/replication/qsync_random_leader.result
 create mode 100644 test/replication/qsync_random_leader.test.lua
 create mode 100644 test/replication/qsync_sync_mode.result
 create mode 100644 test/replication/qsync_sync_mode.test.lua

-- 
2.25.1



More information about the Tarantool-patches mailing list