[Tarantool-patches] [PATCH v2] Divide replication/misc.test.lua
Mergen Imeev
imeevma at tarantool.org
Tue Sep 8 10:44:38 MSK 2020
Hi! Thanks for the fixes. I have two comments, but both are not very important.
Other that that, LGTM.
On Mon, Sep 07, 2020 at 09:11:49PM +0300, Alexander V. Tikhonov wrote:
> Hi Mergen, thanks for the review, please check my comments below on your
> comments and diff of the changes.
>
> On Mon, Sep 07, 2020 at 05:46:30PM +0300, Mergen Imeev wrote:
> > Hi! Thank you for the patch. See 4 comments below.
> >
> > On Fri, Sep 04, 2020 at 09:13:58PM +0300, Alexander V. Tikhonov wrote:
> > > To fix flaky issues of replication/misc.test.lua the test had to be
> > > divided into smaller tests to be able to localize the flaky results:
> > >
> > > gh-2991-misc-assert-on-server-die.test.lua
> > > gh-3111-misc-rebootstrap-from-ro-master.test.lua
> > > gh-3160-misc-heartbeats-on-master-changes.test.lua
> > > gh-3247-misc-value-not-replicated-on-iproto-request.test.lua
> > > gh-3510-misc-assert-replica-on-applier-disconnect.test.lua
> > > gh-3606-misc-crash-on-box-concurrent-update.test.lua
> > > gh-3610-misc-assert-connecting-master-twice.test.lua
> > > gh-3637-misc-no-panic-on-connected.test.lua
> > > gh-3642-misc-no-socket-leak-on-replica-disconnect.test.lua
> > > gh-3704-misc-replica-checks-cluster-id.test.lua
> > > gh-3711-misc-no-restart-on-same-configuration.test.lua
> > > gh-3760-misc-return-on-quorum-0.test.lua
> > > gh-4399-misc-no-failure-on-error-reading-wal.test.lua
> > > gh-4424-misc-orphan-on-reconfiguration-error.test.lua
1. I think the names are too long, but there is no rule governing that, so I
guess that's okay. In addition, some names do not reflect the content of the
test, for example gh-2991, gh-3247, gh-3637.
> > 1. I don't think 'misc' is needed in test names.
>
> I don't think so. The test name must consists the name of the initial
> test to be able to check the history of the changes.
>
2. I have not seen such a rule anywhere. In that case, wouldn't it be better
to leave a comment inside?
> > > diff --git a/test/replication/gh-3760-misc-return-on-quorum-0.test.lua b/test/replication/gh-3760-misc-return-on-quorum-0.test.lua
> > > new file mode 100644
> > > index 000000000..30089ac23
> > > --- /dev/null
> > > +++ b/test/replication/gh-3760-misc-return-on-quorum-0.test.lua
> > > @@ -0,0 +1,14 @@
> > > +--
> > > +-- gh-3760: replication quorum 0 on reconfiguration should return
> > > +-- from box.cfg immediately.
> > > +--
> > > +replication = box.cfg.replication
> > > +box.cfg{ \
> > > + replication = {}, \
> > > + replication_connect_quorum = 0, \
> > > + replication_connect_timeout = 1000000 \
> > > +}
> > > +-- The call below would hang, if quorum 0 is ignored, or checked
> > > +-- too late.
> > > +box.cfg{replication = {'localhost:12345'}}
> > > +box.info.status
> > 2. I think there is something wrong with this test. I mean, you change the
> > box.cfg options, but you don't restore them.
>
> Ok, as we discussed I've returned back the code removed after the first
> review.
>
> > > diff --git a/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.test.lua b/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.test.lua
> > > new file mode 100644
> > > index 000000000..a926ae590
> > > --- /dev/null
> > > +++ b/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.test.lua
> > > @@ -0,0 +1,38 @@
> > > +test_run = require('test_run').new()
> > > +test_run:cmd("restart server default")
> > > +fiber = require('fiber')
> > 3. This is not needed here.
>
> Ok, sure, removed.
>
> > > --- a/test/replication/suite.cfg
> > > +++ b/test/replication/suite.cfg
> > > @@ -1,6 +1,19 @@
> > > {
> > > "anon.test.lua": {},
> > > - "misc.test.lua": {},
> > > + "misc_assert_connecting_master_twice_gh-3610.test.lua": {},
> > > + "misc_assert_on_server_die_gh-2991.test.lua": {},
> > > + "misc_assert_replica_on_applier_disconnect_gh-3510.test.lua": {},
> > > + "misc_crash_on_box_concurrent_update_gh-3606.test.lua": {},
> > > + "misc_heartbeats_on_master_changes_gh-3160.test.lua": {},
> > > + "misc_no_failure_on_error_reading_wal_gh-4399.test.lua": {},
> > > + "misc_no_panic_on_connected_gh-3637.test.lua": {},
> > > + "misc_no_restart_on_same_configuration_gh-3711.test.lua": {},
> > > + "misc_no_socket_leak_on_replica_disconnect_gh-3642.test.lua": {},
> > > + "misc_orphan_on_reconfiguration_error_gh-4424.test.lua": {},
> > > + "misc_rebootstrap_from_ro_master_gh-3111.test.lua": {},
> > > + "misc_replica_checks_cluster_id_gh-3704.test.lua": {},
> > > + "misc_return_on_quorum_0_gh-3760.test.lua": {},
> > > + "misc_value_not_replicated_on_iproto_request_gh-3247.test.lua": {},
> > 4. Wrong names of the tests.
>
> Right, corrected.
>
> Check the changes bellow:
>
> diff --git a/test/replication/gh-3760-misc-return-on-quorum-0.result b/test/replication/gh-3760-misc-return-on-quorum-0.result
> index 79295f5c2..ed8ae529b 100644
> --- a/test/replication/gh-3760-misc-return-on-quorum-0.result
> +++ b/test/replication/gh-3760-misc-return-on-quorum-0.result
> @@ -1,3 +1,12 @@
> +replication_connect_timeout = box.cfg.replication_connect_timeout
> +---
> +...
> +replication_connect_quorum = box.cfg.replication_connect_quorum
> +---
> +...
> +box.cfg{replication="12345", replication_connect_timeout=0.1, replication_connect_quorum=1}
> +---
> +...
> --
> -- gh-3760: replication quorum 0 on reconfiguration should return
> -- from box.cfg immediately.
> @@ -21,3 +30,10 @@ box.info.status
> ---
> - running
> ...
> +box.cfg{ \
> + replication = {}, \
> + replication_connect_quorum = replication_connect_quorum, \
> + replication_connect_timeout = replication_connect_timeout \
> +}
> +---
> +...
> diff --git a/test/replication/gh-3760-misc-return-on-quorum-0.test.lua b/test/replication/gh-3760-misc-return-on-quorum-0.test.lua
> index 30089ac23..dc8508004 100644
> --- a/test/replication/gh-3760-misc-return-on-quorum-0.test.lua
> +++ b/test/replication/gh-3760-misc-return-on-quorum-0.test.lua
> @@ -1,3 +1,7 @@
> +replication_connect_timeout = box.cfg.replication_connect_timeout
> +replication_connect_quorum = box.cfg.replication_connect_quorum
> +box.cfg{replication="12345", replication_connect_timeout=0.1, replication_connect_quorum=1}
> +
> --
> -- gh-3760: replication quorum 0 on reconfiguration should return
> -- from box.cfg immediately.
> @@ -12,3 +16,8 @@ box.cfg{ \
> -- too late.
> box.cfg{replication = {'localhost:12345'}}
> box.info.status
> +box.cfg{ \
> + replication = {}, \
> + replication_connect_quorum = replication_connect_quorum, \
> + replication_connect_timeout = replication_connect_timeout \
> +}
> diff --git a/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.result b/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.result
> index 46b4f6464..a105e54b3 100644
> --- a/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.result
> +++ b/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.result
> @@ -2,9 +2,6 @@ test_run = require('test_run').new()
> ---
> ...
> test_run:cmd("restart server default")
> -fiber = require('fiber')
> ----
> -...
> --
> -- gh-4399 Check that an error reading WAL directory on subscribe
> -- doesn't lead to a permanent replication failure.
> diff --git a/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.test.lua b/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.test.lua
> index a926ae590..f071d97c1 100644
> --- a/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.test.lua
> +++ b/test/replication/gh-4399-misc-no-failure-on-error-reading-wal.test.lua
> @@ -1,6 +1,5 @@
> test_run = require('test_run').new()
> test_run:cmd("restart server default")
> -fiber = require('fiber')
>
> --
> -- gh-4399 Check that an error reading WAL directory on subscribe
> diff --git a/test/replication/suite.cfg b/test/replication/suite.cfg
> index e21daa5ad..f9f7055b7 100644
> --- a/test/replication/suite.cfg
> +++ b/test/replication/suite.cfg
> @@ -1,19 +1,19 @@
> {
> "anon.test.lua": {},
> - "misc_assert_connecting_master_twice_gh-3610.test.lua": {},
> - "misc_assert_on_server_die_gh-2991.test.lua": {},
> - "misc_assert_replica_on_applier_disconnect_gh-3510.test.lua": {},
> - "misc_crash_on_box_concurrent_update_gh-3606.test.lua": {},
> - "misc_heartbeats_on_master_changes_gh-3160.test.lua": {},
> - "misc_no_failure_on_error_reading_wal_gh-4399.test.lua": {},
> - "misc_no_panic_on_connected_gh-3637.test.lua": {},
> - "misc_no_restart_on_same_configuration_gh-3711.test.lua": {},
> - "misc_no_socket_leak_on_replica_disconnect_gh-3642.test.lua": {},
> - "misc_orphan_on_reconfiguration_error_gh-4424.test.lua": {},
> - "misc_rebootstrap_from_ro_master_gh-3111.test.lua": {},
> - "misc_replica_checks_cluster_id_gh-3704.test.lua": {},
> - "misc_return_on_quorum_0_gh-3760.test.lua": {},
> - "misc_value_not_replicated_on_iproto_request_gh-3247.test.lua": {},
> + "gh-3610-misc-assert-connecting-master-twice.test.lua": {},
> + "gh-2991-misc-assert-on-server-die.test.lua": {},
> + "gh-3510-misc-assert-replica-on-applier-disconnect.test.lua": {},
> + "gh-3606-misc-crash-on-box-concurrent-update.test.lua": {},
> + "gh-3160-misc-heartbeats-on-master-changes.test.lua": {},
> + "gh-4399-misc-no-failure-on-error-reading-wal.test.lua": {},
> + "gh-3637-misc-no-panic-on-connected.test.lua": {},
> + "gh-3711-misc-no-restart-on-same-configuration.test.lua": {},
> + "gh-3642-misc-no-socket-leak-on-replica-disconnect.test.lua": {},
> + "gh-4424-misc-orphan-on-reconfiguration-error.test.lua": {},
> + "gh-3111-misc-rebootstrap-from-ro-master.test.lua": {},
> + "gh-3704-misc-replica-checks-cluster-id.test.lua": {},
> + "gh-3760-misc-return-on-quorum-0.test.lua": {},
> + "gh-3247-misc-value-not-replicated-on-iproto-request.test.lua": {},
> "once.test.lua": {},
> "on_replace.test.lua": {},
> "status.test.lua": {},
>
More information about the Tarantool-patches
mailing list