[PATCH] test: fix box/push.test sporadic hang
Vladimir Davydov
vdavydov.dev at gmail.com
Thu Feb 28 14:10:57 MSK 2019
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.
More information about the Tarantool-patches
mailing list