proxy.config.http.connect_attempts_timeout tracks TTBF instead of connect#4028
proxy.config.http.connect_attempts_timeout tracks TTBF instead of connect#4028duke8253 merged 1 commit intoapache:masterfrom
Conversation
|
Nice! This is a long outstanding issue, I’ll do some tests with it next week as well. |
|
[approve ci autest] |
f6076ee to
32af700
Compare
|
Pushing a new version. The autest caught a regression with posts. Turns out for posts/pushes there was existing code in connect_s that kind of did the wait for write logic. I don't know why we would treat get differently from push/post. In this version I unified the logic and removed the connect_s path entirely. |
32af700 to
e1b232f
Compare
duke8253
left a comment
There was a problem hiding this comment.
Looks good to me. I've also setup microserver with a 10 second delay when sending response, and this fix works without a problem.
|
I'm going to remove the 7.1.5 Project on this, since going forward, we will need to make a second PR against the 7.1.x for proposed back ports. |
|
Reverting this in #4503 for 7x, it was causing a crash for us with the latest 7x RC |
|
From #4503: Testing the latest 7.1.x we saw a crash that kept coming up, https://gist.github.com/ezelkow1/6514f3ddb7a68e2b3279ae3a26cb0021 This seemed to be triggered by an unknown event in the state machine: I tracked it down to fadddc, and to do the revert I also had to back out a few changes from b6f422 The crash would be triggered within a few minutes of running synthetic-production traffic. With this revert I ran for 30 minutes and never got the crash |
|
The problem is that 7.1.x and 8.0.x are missing the fix in PR #4020. Specifically the addition of the VC_EVENT_INACTIVITY_TIMEOUT (next to the VC_EVENT_ACTIVE_TIMEOUT) in the case statement in HttpSM::state_http_server_open. |
|
This PR is in master and 7.1.x but not 8.x. |
|
I cherry picked it here: And @zwoop reverted it here: Don't remember why it was reverted. @zwoop do you remember why? |
|
@bryancall please note that (at least) 8.0.x needs #5811 along with #4028 |
|
@SolidWallOfCode @shinrich Are there any other PRs related to this one that we would need ? We'd like this for 8.1.x I think. |
|
Cherry-picked to 8.1.x |
|
Reverted this again, because it caused build failures. |
I ran tests with proxy.config.http.connect_attempts_timeout set to 3 and the http transact inactivity timeout set to 30. I had an origin that would connect right away but wait for 10 seconds before returning. Without this fix, curl requests would return with a timeout error. With this fix, curl will return in 10 seconds.
We will add a ua_test soon. Need to set up a test origin (or augment microserver) to have a delay between connect and response.