-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Request timeout on dual-stack(IPv4 unreachable) cluster after upgrade to 6.8.1 #5521
Comments
From your message I understand that incrementing your config's timeout is working. What I'm not sure is what you're actually requesting. If you're requesting to change the default value to 20s, what would be the main reason for this besides your specific needs? Other than that, it sound like you might be hitting #2632 (Using KubernetesClient with IPv6 based Kubernetes Clusters). In this case, maybe you want to switch to a different |
Right, I can solve this issue by increasing the
Whatever I request, e.g. Pod, Service, Ingress, and so on, HttpClient(okhttp) will establish a connection to the Cluster(IPv4 is there but unreachable, IPv6 available), and the HttpClient(okhttp) will spend 10 seconds(default timeout in okhttp) checking the connectivity of the IPv4 address, which means the request is break in fabric instead of OkHttp, since OkHttp has no time to try IPv6. So, we need at least 20 seconds to cover the total timeout over okhttp request timeout in fabric8 is 10 seconds -> okhttp needs 10 seconds to check each IP family(20 seconds in total)
I truly tried #2632 (Using KubernetesClient with IPv6 based Kubernetes Clusters) out, and it works when I uplift okhttp to 5.0-alpha, benefit from new feature Fast Fallback.
Switching HttpClient type would be another solution but still needs additional configuration from the user side. |
This issue has been automatically marked as stale because it has not had any activity since 90 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions! |
Operation: Upgrade version from 5.12.0 to 6.8.1
Environment: Dual stack Openshift, but only IPv6 is reachable
Error:
Root cause:
Workaround: Prolong the request timeout to 20 seconds or override okhttp version to 5.0 alpha
Refer to:
Proposal: Is it possible to prolong the default request timeout to 20 seconds?
Fabric8 Kubernetes Client version
6.8.1
Steps to reproduce
Expected behavior
Success to list resources from the cluster
Runtime
OpenShift
Kubernetes API Server version
1.23
Environment
Linux
Fabric8 Kubernetes Client Logs
Additional context
No response
The text was updated successfully, but these errors were encountered: