[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