-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Could you suggest to code snippet how to properly initialize Azure cpp SDK for respect keep-alive server header? #5877
Comments
Thank you for your feedback. Tagging and routing to the team member best able to assist. |
QQ: The Azure SDK supports two separate transports - one for WinHTTP, the other for libCURL. Which transport are you using? WinHTTP should support the keep-alive header properly, but with a quick look at the code, the value of the "keep-alive" header does not appear to be respected, only that the presence of the header. |
ClickHouse used libCURL |
How is this related to Azure SDK? |
@Jinming-Hu it definitely related to Azure SDK ClickHouse uses Azure SDK, under non windows OS how to initialize Azure SDK properly, to respect server side header |
We implement HTTP protocol on top of libcurl raw TCP connections. Looking through https://github.com/Azure/azure-sdk-for-cpp/blob/b4020493c4b0c2c1b5c81764be01b4ef0223bf4b/sdk/core/azure-core/src/http/curl/curl.cpp, I didn't find any handling of |
it should be supported I just ask how to properly initialize SDK to handle standard HTTP behavior. I believe, SDK shall not try to write to socket which already closed from server side and don't need to make useless packet send. |
@Slach the code snippet you quoted handles |
=) ok. got it, thanks for suggestion But what about to add properly handle connection closing? When server sent |
The |
I suspect there is a similar issue on winhttp |
@RickWinter thank you kindly for adding issue to milestone i asked in libcurl repo suggestions |
maybe curl/curl#14487 (comment) could help |
I think I was unclear: For performance reasons, the Azure SDK for C++'s libcurl transport does not use the libcurl implementation of HTTP, it only uses libcurl for connection management. All HTTP interactions are managed by the libcurl transport directly, as is all the connection pooling behavior. I suspect this may be a bug in the Azure SDK for C++'s libCURL transport implementation which does not appear respect the parameters to the |
Query/Question
I got some flaky errors inside my tests in clickhouse-server with azurite
details here
ClickHouse/ClickHouse#60447 and here Azure/Azurite#2443
clickhouse-server
useaws-cpp-sdk
to make requests toazurite
but after receive from
azurite
and FIN TCP packet
aws-sdk/clickhouse-server doesn't send FIN ACK and trying to write to already closed connection
unfortunatelly in ClickHouse/ClickHouse@d7fb851
clickhouse team decided just retry on any transport error
Why is this not a Bug or a feature Request?
Could you suggest to code snippet how to properly initialize Azure cpp SDK for respect keep-alive server header?
The text was updated successfully, but these errors were encountered: