Skip to content

Conversation

@bttrfl
Copy link
Contributor

@bttrfl bttrfl commented Nov 23, 2025

I have encountered an issue similar to #6358.

When pausing an upload, it is not actually excluded from the low speed cancelation. The issue seems to be that the condition in the code only checks if the "recv direction" of the transfer is paused, but not the "send direction".

Adding Curl_xfer_send_is_paused to the condition fixed the issue

libcurl version: 8.17
tested with protocols: http/https

…with CURL_READFUNC_PAUSE

When a trasfer is paused from a read callback with a CURL_READFUNC_PAUSE code,
it should be excluded from the speedcheck. Currently only transfers paused
from write callbacks are excluded, because the code only checks for
"recv direction" of the transfer. This commit adds a check for "send direction".

Issue similar to curl#6358
@bttrfl bttrfl marked this pull request as ready for review November 23, 2025 04:37
@testclutch

This comment was marked as resolved.

@icing
Copy link
Contributor

icing commented Nov 24, 2025

@bttrfl thanks, I think this is good. Could you rebase on master? I think the CI failures should be fixed that way.

@icing
Copy link
Contributor

icing commented Nov 24, 2025

If you do not have the time, I can take this change in to #19384 where I work on rate limits improvements.

Copy link
Contributor

@icing icing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bagder let's merge this now. the failures are all the known wolfssl fallout.

@bagder bagder closed this in b5265b2 Nov 24, 2025
@bagder
Copy link
Member

bagder commented Nov 24, 2025

Thanks!

@bttrfl
Copy link
Contributor Author

bttrfl commented Nov 24, 2025

Thanks!

robot-piglet pushed a commit to ytsaurus/ytsaurus that referenced this pull request Nov 24, 2025
Некорректно работает ограничение CURLOPT\_LOW\_SPEED\_LIMIT для приостановленных через CURL\_READFUNC\_PAUSE (или curl\_pause, тут неважно) upload'ов. По документации, для таких запросов проверка не должна срабатывать, а на практике это не так: запрос ставится на паузу и потом отваливается по лимиту.

Нас сейчас эта проблема блокирует: пятисотим на медленных s3 клиентах, поэтому пока ждем мержа [PR](curl/curl#19653) в апстрим и релиза, занес патч сюда

В тикете чуть больше подробностей
commit_hash:3fe9cfbc23430dd59643f0915943455caad3db97
robot-piglet pushed a commit to ydb-platform/ydb that referenced this pull request Nov 24, 2025
Некорректно работает ограничение CURLOPT\_LOW\_SPEED\_LIMIT для приостановленных через CURL\_READFUNC\_PAUSE (или curl\_pause, тут неважно) upload'ов. По документации, для таких запросов проверка не должна срабатывать, а на практике это не так: запрос ставится на паузу и потом отваливается по лимиту.

Нас сейчас эта проблема блокирует: пятисотим на медленных s3 клиентах, поэтому пока ждем мержа [PR](curl/curl#19653) в апстрим и релиза, занес патч сюда

В тикете чуть больше подробностей
commit_hash:3fe9cfbc23430dd59643f0915943455caad3db97
robot-piglet pushed a commit to ytsaurus/ytsaurus that referenced this pull request Nov 24, 2025
Некорректно работает ограничение CURLOPT\_LOW\_SPEED\_LIMIT для приостановленных через CURL\_READFUNC\_PAUSE (или curl\_pause, тут неважно) upload'ов. По документации, для таких запросов проверка не должна срабатывать, а на практике это не так: запрос ставится на паузу и потом отваливается по лимиту.

Нас сейчас эта проблема блокирует: пятисотим на медленных s3 клиентах, поэтому пока ждем мержа [PR](curl/curl#19653) в апстрим и релиза, занес патч сюда

В тикете чуть больше подробностей
commit_hash:3fe9cfbc23430dd59643f0915943455caad3db97
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants