[tarantool-patches] Re: [PATCH] tarantoolctl: return an error on enter to a dead socket.

Konstantin Osipov kostja at tarantool.org
Wed Jul 18 08:19:53 MSK 2018


* Serge Petrenko <sergepetrenko at tarantool.org> [18/07/16 15:14]:

> Tarantoolctl enter didn't check whether connection to a socket was established
> if a socket file existed. It just executed a local console.
> Fix this by adding a check and an error, also add a test case.
> 
> Closes #3364

>  extra/dist/tarantoolctl.in         | 19 ++++++++++++-------
>  test/app-tap/tarantoolctl.test.lua | 29 ++++++++++++++++++++++++++++-
>  2 files changed, 40 insertions(+), 8 deletions(-)
> 
> +    local status, err = pcall(function()
> +        test:test("check error codes in case of enter", function(test_i)
> +            test_i:plan(6)
> +            check_ok(test_i, dir, 'enter', 'script', 1, nil, "Can't connect to")
> +            check_ok(test_i, dir, 'start', 'script', 0)
> +            os.execute(("kill $(cat %s/script.pid)"):format(dir))

I don't understand how this works. Simply sending
SIGTERM to tarantool would should it down gracefully and remove
the socket. If it doesn't, it's a bug. You should use SIGKILL if
you wanted to create a dead socket. But then again why do you need
to start an instance in order to get a dead socket? Can't you make
it simpler and create a dead socket with fio API?

> +            check_ok(test_i, dir, 'enter', 'script', 1, nil, "Can't connect to")
> +            check_ok(test_i, dir, 'stop','script', 0)
> +        end)
> +    end)

-- 
Konstantin Osipov, Moscow, Russia, +7 903 626 22 32
http://tarantool.io - www.twitter.com/kostja_osipov




More information about the Tarantool-patches mailing list