ConnectionPool call timeouts don't work if tcp connection is not established in a long time
На данный момент ConnectionPoolWorker создаёт объект network client не передавая таймаут для tcp соединения (сорсы). И т.к. TcpStream::connect блочит весь файбер (см. tarantool-module#227 (closed)), в случае если соединение не может установиться долгое время, будут заблочены все rpc запросы к этому пиру, даже те, у которых маленький таймаут (обнаружилось тут: repro).
Более того, в ReconnClient пока невозможно указать таймаут для соединения.
Репро
репро можно брать тут: repro
Быстрое решение
Стоит добавить в ReconnClient проброс таймаута в TcpStream::connect_timeout (это можно сделать добавив connect_timeout config параметр (см.)
Системное решение
В tarantool-module#227 (closed) предложена реализация async-friendly TcpStream::connect, который бы также полностью решил данную проблему