Skip to content
Snippets Groups Projects
user avatar
Alexander Turenko authored
Strengthen test_run:cmd() against temporary connection failures (#193).

We recently added 'replication/box_set_replication_stress' test that may
exceed file descriptor limit. When test_run:cmd() function executes a
command ('switch master' in the case), it tries to create a new socket
and connect it to test-run's inspector, but it may fail to do so in the
case, because of the file descriptor limit.

The sockets that the test produces are closed in background, so if we'll
keep trying to create and connect a socket we'll succeed once. This is
exactly that the test-run's patch doing: it fails test_run:cmd()
function only if a socket cannot be connected during 100 seconds.

I guess that the reason why sockets are not closed immediately is that
relays wait until replicas will close its side of a socket and only then
closes its side. Didn't investigate it deeper, to be honest.

(cherry picked from commit 5fccf003)
48905cd4
History
Name Last commit Last update