Closed
Bug 1471201
Opened 6 years ago
Closed 6 years ago
Increase Keep-Alive connection drop timeout
Categories
(Testing :: geckodriver, defect, P3)
Testing
geckodriver
Tracking
(firefox63 fixed)
RESOLVED
FIXED
mozilla63
Tracking | Status | |
---|---|---|
firefox63 | --- | fixed |
People
(Reporter: ato, Assigned: ato)
References
Details
Attachments
(1 file)
It was reported in various recent geckodriver issues, including but not limited to https://github.com/mozilla/geckodriver/issues/1304, that various (Selenium?) WebDriver clients do not have proper support for HTTP/1.1 Keep-Alive connections. Whilst increasing the inactive connection drop timeout duration will not resolve the above problem (patches are needed in clients), the default five second timeout that hyper operates with is probably too low for regular WebDriver use. whimboo did some investigation of this in https://github.com/mozilla/geckodriver/issues/1304#issuecomment-400229653 and there is some more background from me in https://github.com/mozilla/geckodriver/issues/1304#issuecomment-400290438.
Assignee | ||
Updated•6 years ago
|
Priority: -- → P3
Assignee | ||
Comment 1•6 years ago
|
||
The question is, what would a good timeout duration be? As I understand it the connection is kept alive for as long as it remains active within the current five second period. The problem arises when the client opens a connection, issues a command, then doesn’t do anything before the timeout elapses. To slightly rephrase the question: For how long would we expect a client to not provide any data?
Comment 2•6 years ago
|
||
I actually don't have an idea right now. As already said on IRC if people see that when using eg. `time.sleep()` calls in their Selenium tests, they should first change those to make use of the `Wait` methods. But something we have to count in for the timeout is clearly the network latency, which in nearly all of the cases shouldn't be that high. I would suggest we wait a bit longer and see how enabling keep-alive affects users.
Assignee | ||
Comment 3•6 years ago
|
||
See my comment https://github.com/mozilla/geckodriver/issues/1304#issuecomment-402685923 about why this change will not fundamentally fix the BadStatusLine exceptions we are seeing reported in the Selenium Python client. Due to _the nature_ of how WebDriver works it would benefit users for the connection to persist longer. WebDriver tests are usually rather slow and the lifetime of continuous operations tends to be longer than your average web document request. Having to make fewer HTTP connections for the duration of a test seems like a potential performance win.
Assignee | ||
Updated•6 years ago
|
Assignee: nobody → ato
Status: NEW → ASSIGNED
Assignee | ||
Comment 4•6 years ago
|
||
In our meeting on Monday we agreed we would increase the HTTPD Keep-Alive timeout duration to 60 seconds: https://wiki.mozilla.org/WebDriver/Meetings/2018-07-02#Minutes
Assignee | ||
Comment 5•6 years ago
|
||
Apparently the default Keep-Alive timeout in a more recent version of hyper is 90 seconds. I propose we use that number so that when we upgrade to this newer version in the future, we will get the hyper default without having to change this value twice.
Comment hidden (mozreview-request) |
Comment 7•6 years ago
|
||
mozreview-review |
Comment on attachment 8989966 [details] Bug 1471201 - Increase webdriver HTTPD Keep-Alive timeout to 90s. https://reviewboard.mozilla.org/r/254974/#review261832
Attachment #8989966 -
Flags: review?(dburns) → review+
Pushed by atolfsen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6637d206368f Increase webdriver HTTPD Keep-Alive timeout to 90s. r=automatedtester
Comment 9•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/6637d206368f
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
status-firefox63:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
You need to log in
before you can comment on or make changes to this bug.
Description
•