You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, we have started to use CURLOPT_FORBID_REUSE in effort to get rid of "idle connections" in our AWS Nat Gateway, which seem to be happening when TCP connections are not closed with a graceful shutdown, with FIN-ACK from both sides. I observe this behavior also with cli curl, it seems that curl for the sake of convenience does not wait for the graceful shutdown to finish. So unfortunately, using CURLOPT_FORBID_REUSE did not fix our problem. Is there any way this can be addressed, perhaps behind a new option, like CURL_WAIT_FOR_GRACEFUL_SHUTDOWN_MS?
Or maybe there is something else wrong here, I am not sure.
I expect a graceful shutdown when using the TCP connection, with no RST packet present in the pcap. This should apply to both running curl from cli, or when using https://curl.se/libcurl/c/CURLOPT_FORBID_REUSE.html with value set to 1. I except that this could be a opt-in feature, which is used only in scale intensive scenarios where graceful TCP shutdown is important.
curl/libcurl version
curl 8.7.0-DEV
operating system
Debian
The text was updated successfully, but these errors were encountered:
I did this
Hi, we have started to use
CURLOPT_FORBID_REUSE
in effort to get rid of "idle connections" in our AWS Nat Gateway, which seem to be happening when TCP connections are not closed with a graceful shutdown, with FIN-ACK from both sides. I observe this behavior also with cli curl, it seems that curl for the sake of convenience does not wait for the graceful shutdown to finish. So unfortunately, usingCURLOPT_FORBID_REUSE
did not fix our problem. Is there any way this can be addressed, perhaps behind a new option, likeCURL_WAIT_FOR_GRACEFUL_SHUTDOWN_MS
?Or maybe there is something else wrong here, I am not sure.
Repository where the issue can be reproduced locally: https://github.com/dorrogeray/curl-kinesis-rst-issue
Script used to generate following pcap: https://github.com/dorrogeray/curl-kinesis-rst-issue/blob/master/curl-push-kinesis.sh
Pcap: https://github.com/dorrogeray/curl-kinesis-rst-issue/blob/master/kinesis_tcp_curl.pcap
curl logs
Section potentially of interest:
Not sure if related to #10290 or #13087
I expected the following
I expect a graceful shutdown when using the TCP connection, with no RST packet present in the pcap. This should apply to both running curl from cli, or when using https://curl.se/libcurl/c/CURLOPT_FORBID_REUSE.html with value set to
1
. I except that this could be a opt-in feature, which is used only in scale intensive scenarios where graceful TCP shutdown is important.curl/libcurl version
curl 8.7.0-DEV
operating system
Debian
The text was updated successfully, but these errors were encountered: