-
Notifications
You must be signed in to change notification settings - Fork 844
TS-4044: The server_vc should be established (writeable) before request transform start. #2184
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
Conversation
…st transform start. The request transform would be applied to POST and/or PUT request. The server_vc should be established (writeable) before request transform start. The CheckConnect is created by connect_s, It will callback NET_EVENT_OPEN to HttpSM if server_vc is WRITE_READY, Otherwise NET_EVENT_OPEN_FAILED is callbacked.
|
This PR revert some code changed by commit 35d492a. |
|
@zwoop This is a 7.1.0 candidate. |
|
What is the issue if the transform begins before the origin is writeable? Does it cause the buffer to fill up, or is content discarded on a retry? Is the computation expense of the transform too much when requests fail frequently? |
|
The request transform starts after If the connection is not ready and the server request header sent out:
If ATS receives these above events, it will trigger the retry mechanism and With the With the When ATS receives |
|
According to the email send from @keesspoelstra , if the the server connection retry mechanism enabled on POST and/or PUT request, ATS may crash on assert. The retry will obviously decrease by this PR for POST and/or PUT request. |
|
Overall it seems reasonable. The question I have is, why use |
shinrich
left a comment
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.
Looks reasonable to me. The previous commit I made because it appeared that post/put would never make it to the else case. But if you explicitly push them to the else, then the extra timeout logic makes sense.
|
Should we land this? |
|
Looks good. 👍 |
|
Because different from |
|
Cherry-picked to 7.1.x |
The request transform would be applied to POST and/or PUT request.
The server_vc should be established (writeable) before request transform start.
The CheckConnect is created by connect_s,
It will callback NET_EVENT_OPEN to HttpSM if server_vc is WRITE_READY,
Otherwise NET_EVENT_OPEN_FAILED is callbacked.