-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Sporadic status 400 on concurrent HTTP2 POST requests #5318
Comments
@PSanetra this does not seems related to ingress-nginx? Not sure what we can do about an issue in Go. |
@aledbf this issue is related to ingress-nginx as it makes using HTTP 2 with ingress-nginx unreliable. You can use the new Go version as soon as it provides a way to fix this issue. We also don't know how the fix will look like. Maybe you will need to change some code. Therefore I suggest to keep this issue open until a fix is possible. |
I am sorry, I still don't understand how this is related to the Go issue. There is no Go code in the requests, only NGINX, which is a binary, not written in Go. |
ok, I am not 100% sure how ingress-nginx is implemented, but isn't there some Go code involved? |
Go is used only to communicate with the k8s API server and configure nginx. When you send traffic to the service/s defined in ingress objects, go is not involved at all, only NGINX.
If you see that in the log of the ingress controller pod, it means the client connecting to ingress-nginx is using a Go user-agent. |
ah ok, so this is an issue of the original client. |
NGINX Ingress controller version: 0.29.0
Kubernetes version (use
kubectl version
):Environment:
uname -a
): 4.15.0-1066-azureWhat happened:
Concurrent HTTP2 POST requests fail sporadically with an HTTP 400 status code.
The nginx-ingress-controller logs the following messages when this error is happening (with verbose logging enabled):
What you expected to happen:
Requests should not fail with an HTTP 400 status code.
How to reproduce it:
Not sure :-/
Anything else we need to know:
This issue is not happening when I disable HTTP2 via the
use-http2
configuration option.I guess that this issue is caused by golang/go#25009 and/or by golang/go#32441.
It would be nice to keep this issue open until the related Go issues are fixed and close this after the nginx-ingress controller uses a Go version where those issues are fixed.
/kind bug
The text was updated successfully, but these errors were encountered: