From: Vladimir Davydov <vdavydov.dev@gmail.com> To: tarantool-patches@freelists.org Subject: [PATCH] test: fix box/iproto_stress sporadic failure Date: Thu, 28 Feb 2019 17:24:06 +0300 [thread overview] Message-ID: <48b0070bbf381640d1877534914b07e270c04bbf.1551363799.git.vdavydov.dev@gmail.com> (raw) This patch fixes the following test failure: | --- box/iproto_stress.result Tue Dec 25 09:56:54 2018 | +++ box/iproto_stress.reject Tue Dec 25 10:12:22 2018 | @@ -80,7 +80,7 @@ | ... | n_workers -- 0 | --- | -- 0 | +- 340 | ... | n_errors -- 0 | --- | @@ -93,5 +93,3 @@ | --- | ... | box.cfg{net_msg_max = net_msg_max} | ---- | -... The problem is the test is quite cpu intensive so if the host is heavily loaded (as it is often the case when tests are run on Travis CI), it may take a few minutes to complete, while the timeout is set to 10 seconds. To fix it, let's - Increase the timeout up to 60 seconds and use test_run.wait_cond instead of a homebrew loop. - Decrease the number of fibers from 400 down to 100 and adjust box.cfg.net_msg_max respectively. Closes #3911 --- https://github.com/tarantool/tarantool/issues/3911 https://github.com/tarantool/tarantool/tree/dv/test-fixes test/box/iproto_stress.result | 10 ++++------ test/box/iproto_stress.test.lua | 7 +++---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/test/box/iproto_stress.result b/test/box/iproto_stress.result index 4239b49b..7149d6c5 100644 --- a/test/box/iproto_stress.result +++ b/test/box/iproto_stress.result @@ -10,7 +10,7 @@ net_box = require('net.box') net_msg_max = box.cfg.net_msg_max --- ... -box.cfg{net_msg_max = 64} +box.cfg{net_msg_max = 16} --- ... box.schema.user.grant('guest', 'read,write,execute', 'universe') @@ -54,7 +54,7 @@ test_run:cmd("setopt delimiter ''"); --- - true ... -for i = 1,400 do fiber.create(worker, i) end +for i = 1, 100 do fiber.create(worker, i) end --- ... fiber.sleep(0.1) @@ -72,11 +72,9 @@ box.error.injection.set("ERRINJ_WAL_DELAY", false) --- - ok ... -attempt = 0 ---- -... -while n_workers > 0 and attempt < 100 do fiber.sleep(0.1) attempt = attempt + 1 end +test_run:wait_cond(function() return n_workers == 0 end, 60) --- +- true ... n_workers -- 0 --- diff --git a/test/box/iproto_stress.test.lua b/test/box/iproto_stress.test.lua index 2f307145..1e1a6578 100644 --- a/test/box/iproto_stress.test.lua +++ b/test/box/iproto_stress.test.lua @@ -4,7 +4,7 @@ fiber = require('fiber') net_box = require('net.box') net_msg_max = box.cfg.net_msg_max -box.cfg{net_msg_max = 64} +box.cfg{net_msg_max = 16} box.schema.user.grant('guest', 'read,write,execute', 'universe') @@ -33,7 +33,7 @@ function worker(i) end; test_run:cmd("setopt delimiter ''"); -for i = 1,400 do fiber.create(worker, i) end +for i = 1, 100 do fiber.create(worker, i) end fiber.sleep(0.1) -- check that iproto doesn't deplete tx fiber pool on wal stall (see gh-1892) @@ -41,8 +41,7 @@ box.error.injection.set("ERRINJ_WAL_DELAY", true) fiber.sleep(0.1) box.error.injection.set("ERRINJ_WAL_DELAY", false) -attempt = 0 -while n_workers > 0 and attempt < 100 do fiber.sleep(0.1) attempt = attempt + 1 end +test_run:wait_cond(function() return n_workers == 0 end, 60) n_workers -- 0 n_errors -- 0 -- 2.11.0
next reply other threads:[~2019-02-28 14:24 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-02-28 14:24 Vladimir Davydov [this message] 2019-02-28 15:31 ` Vladimir Davydov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=48b0070bbf381640d1877534914b07e270c04bbf.1551363799.git.vdavydov.dev@gmail.com \ --to=vdavydov.dev@gmail.com \ --cc=tarantool-patches@freelists.org \ --subject='Re: [PATCH] test: fix box/iproto_stress sporadic failure' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox