From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 17 Apr 2019 11:44:16 +0300 From: Vladimir Davydov Subject: Re: [tarantool-patches] [PATCH v1] test: vinyl/errinj test fails under highload Message-ID: <20190417084416.7y7wqraawo7xf42y@esperanza> References: <119bf88338de1f9a618cc1e9c3254189e68bf17c.1555487369.git.avtikhon@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <119bf88338de1f9a618cc1e9c3254189e68bf17c.1555487369.git.avtikhon@tarantool.org> To: avtikhon Cc: Alexander Turenko , tarantool-patches@freelists.org List-ID: On Wed, Apr 17, 2019 at 10:50:47AM +0300, avtikhon wrote: > Test "check that all dump/compaction tasks that are in progress at > the time when the server stops are aborted immediately.", but in > real the awaiting time of 1 second is not enough due to runs in > parallel and it fails, like: > > [009] --- vinyl/errinj.result Tue Apr 16 16:43:36 2019 > [009] +++ vinyl/errinj.reject Wed Apr 17 09:42:36 2019 > [009] @@ -530,7 +530,7 @@ > [009] ... > [009] t2 - t1 < 1 > [009] --- > [009] -- true > [009] +- false > [009] ... > [009] test_run:cmd("cleanup server test") > [009] --- > [009] > > in 100 parallel runs the failed delays were found: > > [002] +- 1.4104716777802 > [022] +- 1.3933029174805 > [044] +- 1.4296517372131 > [033] +- 1.6380662918091 > [001] +- 1.9799520969391 > [027] +- 1.7067711353302 > [043] +- 1.3778221607208 > [034] +- 1.3820221424103 > [032] +- 1.3820221424103 > [020] +- 1.6275615692139 > [050] +- 1.6275615692139 > [048] +- 1.1880359649658 > > Desided to increase the awiting time up to 3 seconds. > > Close #4169 > --- > > Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4169-vinyl-errinj-highload > Issue: https://github.com/tarantool/tarantool/issues/4169 > > test/vinyl/errinj.result | 2 +- > test/vinyl/errinj.test.lua | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/test/vinyl/errinj.result b/test/vinyl/errinj.result > index 6fc4d9e5d..9b1ded612 100644 > --- a/test/vinyl/errinj.result > +++ b/test/vinyl/errinj.result > @@ -528,7 +528,7 @@ test_run:cmd("stop server test") > t2 = fiber.time() > --- > ... > -t2 - t1 < 1 > +t2 - t1 < 3 or t2 - t1 > --- > - true > ... > diff --git a/test/vinyl/errinj.test.lua b/test/vinyl/errinj.test.lua > index b500b33c6..dab35b3b1 100644 > --- a/test/vinyl/errinj.test.lua > +++ b/test/vinyl/errinj.test.lua > @@ -191,7 +191,7 @@ test_run:cmd('switch default') > t1 = fiber.time() > test_run:cmd("stop server test") > t2 = fiber.time() > -t2 - t1 < 1 > +t2 - t1 < 3 or t2 - t1 > test_run:cmd("cleanup server test") Try using ERRINJ_VY_DUMP_DELAY instead. Then you wouldn't need to check the time at all - the server just wouldn't stop unless pending tasks was cancelled. You can check that by commenting out vy_worker_pool_stop.