diff --git a/src/Client/Connection.cpp b/src/Client/Connection.cpp index fd02bde57bc..dffac97d8ce 100644 --- a/src/Client/Connection.cpp +++ b/src/Client/Connection.cpp @@ -419,7 +419,12 @@ void Connection::sendQuery( if (!connected) connect(timeouts); - TimeoutSetter timeout_setter(*socket, timeouts.send_timeout, timeouts.receive_timeout, true); + /// Query is not executed within sendQuery() function. + /// + /// And what this means that temporary timeout (via TimeoutSetter) is not + /// enough, since next query can use timeout from the previous query in this case. + socket->setReceiveTimeout(timeouts.receive_timeout); + socket->setSendTimeout(timeouts.send_timeout); if (settings) {