-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Client timeouts #2972
Client timeouts #2972
Conversation
Codecov Report
@@ Coverage Diff @@
## master #2972 +/- ##
==========================================
+ Coverage 98.09% 98.11% +0.01%
==========================================
Files 42 42
Lines 7676 7698 +22
Branches 1338 1343 +5
==========================================
+ Hits 7530 7553 +23
Misses 49 49
+ Partials 97 96 -1
Continue to review full report at Codecov.
|
Ready for review. |
@thehesiod you are the main feature requester. |
Documentation is done |
ssl=ssl, proxy_headers=proxy_headers, traces=traces) | ||
|
||
# connection timeout | ||
try: | ||
with CeilTimeout(self._conn_timeout, loop=self._loop): | ||
with CeilTimeout(self._timeout.connect, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this still means that the connect timeout includes the time waiting for a connector from the pool no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice catch!
Let's keep ClientTimeout.connect
as is for backward compatibility but implement .sock_connect
for actual connection establishment time.
Thanks for this! we need only two timeouts:
for 1) I think this doesn't fix it because it seems like it still includes the time for waiting for a connector from the pool. We achieve this here: https://github.com/aio-libs/aiobotocore/blob/master/aiobotocore/endpoint.py#L219 by wrapping a CeilTimeout around the for 2) we achieve this via wrapping the
also could you explain the rationality for removing all the |
btw, check this out: http://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html#module-urllib3.util.timeout along with a |
Do you need to set timeout after getting response object? Is passing a timeout to |
good news, so I dug a little into this and it seems 3) is no longer needed, it was only because requests didn't correctly support read timeouts (which they do now) |
Protocol has no We can add something like
The parameter is a part of private API, now |
So my plan is: I'm going to implement pure connection timeout (without waiting from a pool). Let's land then the PR and see what also do we need. |
|
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a [new issue] for related bugs. |
#2768