You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Alberto Gomez (Jira)" <ji...@apache.org> on 2021/01/19 16:30:00 UTC
[jira] [Created] (GEODE-8847) Use
boost::asio::ip::tcp::resolver::resolve method instead of the asynchronous
one
Alberto Gomez created GEODE-8847:
------------------------------------
Summary: Use boost::asio::ip::tcp::resolver::resolve method instead of the asynchronous one
Key: GEODE-8847
URL: https://issues.apache.org/jira/browse/GEODE-8847
Project: Geode
Issue Type: Improvement
Components: native client
Reporter: Alberto Gomez
The async_resolve method of the boost::asio::ip::tcp::resolver class allows to perform asynchronous calls for name resolution which would, in theory, permit to add a timeout to the name resolution, useful when DNS calls take long.
In practice, it has been observed that this call creates a thread internally and even if a timeout is set in the io_context run method and the call exits at timeout, subsequent calls to run or the destruction of the io_context will wait for the thread created by the async_resolve method to finish which provokes that calls to the resolver can take longer than the timeout set.
As a consequence, it is proposed to use the synchronous version of the method (resolve) which makes the code simpler and does not lead to interpret that a timeout out can be set to the name resolution.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)