test: fix flaky 'test_ignore_with_force_recovery'
From time to time we can see failures of one of `box-luatest` tests. It's `gh_6794_recover_nonmatching_xlogs.test_ignore_with_force_recovery` test: [021] box-luatest/gh_6794_recover_nonmatching_xlogs_> [021] not ok 2 box-luatest.gh_6794_recover_nonmatching_xlogs.test_ignore_with_force_recovery # [021] Rejected result file: /tmp/tnt/rejects/box-luatest/gh_6794_recover_nonmatching_xlogs.reject [021] [ fail ] More detailed failure log: not ok 2 box-luatest.gh_6794_recover_nonmatching_xlogs.test_ignore_with_force_recovery # .../tarantool/test/luatest_helpers/server.lua:99: Waiting for "readiness" on server master-UCg6PXluSqYt (PID 85920) timed out # stack traceback: # .../tarantool/test/luatest_helpers/server.lua:99: in function 'wait_for_readiness' # .../tarantool/test/luatest_helpers/server.lua:146: in function 'start' # ...t/box-luatest/gh_6794_recover_nonmatching_xlogs_test.lua:32: in function 'box-luatest.gh_6794_recover_nonmatching_xlogs.test_ignore_with_force_recovery' # ... # [C]: in function 'xpcall' If we take a look at the log of a tarantool server that is used for testing, we will see the failure reason: 2022-02-04 21:06:12.063 [85920] main/103/default.lua evio.c:240 E> SocketError: unlink, called on fd 27, aka unix/:(socket), peer of unix/:(socket): Address already in use 2022-02-04 21:06:12.063 [85920] main/103/default.lua F> can't initialize storage: unlink, called on fd 27, aka unix/:(socket), peer of unix/:(socket): Address already in use Both tests from the gh_6794_recover_nonmatching_xlogs_test.lua file used the same alias (master) for the tarantool server, hence in both tests the tarantool server used a socket with the same name (master.iproto). So we had a race here: if the socket from the previous test was released in time, our test succeeded, otherwise, failed. To fix the issue it was decided to create tarantool servers with different aliases. This gives us sockets with different names, hence no socket intersection. Closes tarantool/tarantool-qa#151 NO_CHANGELOG=test stuff NO_DOC=testing stuff (cherry picked from commit 3f86cd04)
Loading
Please register or sign in to comment