From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp49.i.mail.ru (smtp49.i.mail.ru [94.100.177.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id CF580469710 for ; Tue, 17 Nov 2020 19:13:58 +0300 (MSK) From: sergeyb@tarantool.org Date: Tue, 17 Nov 2020 19:13:47 +0300 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH 0/4 v3] Additional qsync tests List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org From: Sergey Bronnikov 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