[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