Closed joker-gege closed 3 weeks ago
i found this question possible caused by libcurl, the code in CurlHandleContainer.cpp
void CurlHandleContainer::SetDefaultOptionsOnHandle(CURL* handle)
{
//for timeouts to work in a multi-threaded context,
//always turn signals off. This also forces dns queries to
//not be included in the timeout calculations.
curl_easy_setopt(handle, CURLOPT_NOSIGNAL, 1L);
curl_easy_setopt(handle, CURLOPT_TIMEOUT_MS, m_httpRequestTimeout);
curl_easy_setopt(handle, CURLOPT_CONNECTTIMEOUT_MS, m_connectTimeout);
curl_easy_setopt(handle, CURLOPT_LOW_SPEED_LIMIT, m_lowSpeedLimit);
curl_easy_setopt(handle, CURLOPT_LOW_SPEED_TIME, m_lowSpeedTime < 1000 ? (m_lowSpeedTime == 0 ? 0 : 1) : m_lowSpeedTime / 1000);
curl_easy_setopt(handle, CURLOPT_TCP_KEEPALIVE, m_enableTcpKeepAlive ? 1L : 0L);
curl_easy_setopt(handle, CURLOPT_TCP_KEEPINTVL, m_tcpKeepAliveIntervalMs / 1000);
curl_easy_setopt(handle, CURLOPT_TCP_KEEPIDLE, m_tcpKeepAliveIntervalMs / 1000);
curl_easy_setopt(handle, CURLOPT_HTTP_VERSION, ConvertHttpVersion(m_version));
curl_easy_setopt(handle, CURLOPT_MAXCONNECTS, m_maxPoolSize);
}
This issue is now closed. Comments on closed issues are hard for our team to see. If you need more assistance, please open a new issue that references this one.
Describe the bug
When I configured an incorrect DNS(centos7.6 wrong configuration of etc/resolv. conf), I found that Aws::SDKOptions timeout configuration not work。Timeout set 500ms,but when i use HeadObject function will cost 5-7s return
Expected Behavior
The expected behavior is that: the Headobject call can return as timeout set 500ms
Current Behavior
now HeadObject function would take approximately 6-7s
Reproduction Steps
code like this,please use yourself ak,sk,bucketname,endpoint
Possible Solution
No response
Additional Information/Context
No response
AWS CPP SDK version used
1.11.34
Compiler and Version used
gcc version 8.3.1
Operating System and version
CentOS 7.6