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)

Reply via email to