From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 28 Feb 2019 14:10:57 +0300 From: Vladimir Davydov Subject: Re: [PATCH] test: fix box/push.test sporadic hang Message-ID: <20190228111057.qcxprosntfbl5rd7@esperanza> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: To: tarantool-patches@freelists.org List-ID: On Thu, Feb 28, 2019 at 02:05:05PM +0300, Vladimir Davydov wrote: > This patch fixes the following test failure: > > | --- box/push.result Thu Jan 24 13:10:04 2019 > | +++ var/001_box/push.result Thu Jan 24 13:13:08 2019 > | @@ -536,17 +536,3 @@ > | --- > | ... > | chan_disconnected:get() > | ---- > | -- true > | -... > | -chan_push:put(true) > | ---- > | -- true > | -... > | -chan_push:get() > | ---- > | -- Session is closed > | -... > | -box.schema.func.drop('do_long_and_push') > | ---- > | -... > > The problem occurs because the main fiber may close the connection > before do_long_and_push sets the session.on_disconnect trigger, in > which case chan_disconnected:get() will never return. Fix this by > setting the trigger in the main fiber and adding another channel > to wait for do_long_and_push function to start. Also, don't forget > to clear the trigger once the test is complete. > > Fixes commit 43af2de2b129 ("session: outdate a session of a closed > connection"). > > Closes #3947 > --- > https://github.com/tarantool/tarantool/issues/3947 > https://github.com/tarantool/tarantool/commits/dv/test-fixes > > test/box/push.result | 15 ++++++++++++++- > test/box/push.test.lua | 6 +++++- > 2 files changed, 19 insertions(+), 2 deletions(-) Pushed to 2.1 and 1.10.