Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upthe k8s client hits some concurrent connections limit and it takes very long time to send all updates to the discovery manager #4528
Comments
krasi-georgiev
added
kind/bug
component/service discovery
labels
Aug 22, 2018
This comment has been minimized.
This comment has been minimized.
|
I'm looking into this. |
This comment has been minimized.
This comment has been minimized.
|
@sttts is it possible to set the max number of concurrent streams through client-go? |
This comment has been minimized.
This comment has been minimized.
|
I have narrowed it down to the changes in the canTakeNewRequestLocked logic. my feeling is that the ClientConn reports that it can handle more connections, but when the caller actually calls the RoundTrip it fails somewhere. |
krasi-georgiev
changed the title
the k8s client hits the maxConcurrentStreams so it fails to send all updates to the discovery manager
the k8s client hist some concurrent connections limit so it fails to send all updates to the discovery manager
Aug 24, 2018
krasi-georgiev
changed the title
the k8s client hist some concurrent connections limit so it fails to send all updates to the discovery manager
the k8s client hits some concurrent connections limit so it fails to send all updates to the discovery manager
Aug 24, 2018
krasi-georgiev
changed the title
the k8s client hits some concurrent connections limit so it fails to send all updates to the discovery manager
the k8s client hits some concurrent connections limit and it takes very long time to send all updates to the discovery manager
Aug 27, 2018
This comment has been minimized.
This comment has been minimized.
|
the limitation is from the server. It all works as expected. when I start minikube with
So I guess this change in the http2 client package changes the workflow so that it hits different execution branch. |
krasi-georgiev
referenced this issue
Aug 27, 2018
Closed
stream updates happen very slowly when the clients hit the MaxConcurrentStreams of the k8s API. #456
simonpasquier
referenced this issue
Sep 5, 2018
Merged
Fix for the slow updates of targets changes #4526
This comment has been minimized.
This comment has been minimized.
|
FTR the root issue is the Go HTTP2 library and tracked at golang/go#27044. It might be addressed in go 1.12. |
This comment has been minimized.
This comment has been minimized.
|
Closing as the root issue golang/go#27044 has been closed by https://go-review.googlesource.com/c/net/+/151857/. |
krasi-georgiev commentedAug 22, 2018
•
edited
There was an update in the golang/net/http2 package that causes the k8s to hit some connection limit and
NOTtakes very long time to send full targerts update to the discovery manager.Might be related to #4518
Found while troubleshooting #4124
the http2 update in Prometheus happened in 0f37c02
The http2 commit that causes this behaviour golang/net@1c05540
To replicate:
config.zip
@cofyc any pointers on where to look in our k8s implementation to increase or disable this limit?