Skip to content
This repository has been archived by the owner on Apr 10, 2024. It is now read-only.

Use HTTP/1.1 to perform readiness check #156

Merged

Conversation

adriansuarez
Copy link
Contributor

This change re-enables the readiness check, using HTTP/1.1 instead of HTTP/2 to invoke it. The readiness checks are unauthenticated and are throttled when the feature gate UnauthenticatedHTTP2DOSMitigation is set to true, which is the default starting in Kubernetes 1.29 (see https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates). This was the cause of the "GOAWAY received" errors that have been observed on Kubernetes 1.29.

This change also decouples starting of the servers from waiting until they become ready, so that if the readiness check fails due to some error that propagates out of the polling loop (e.g. IOException), the caller is free to catch it and continue waiting.

@adriansuarez
Copy link
Contributor Author

This addresses #153 and #155.

Copy link
Collaborator

@csviri csviri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added one comment.

TBH just setting this flag to false would be more explicit. Otherwise this is also a good solution. Thank you for the PR.

This change re-enables the readiness check, using HTTP/1.1 instead of
HTTP/2 to invoke it. The readiness checks are unauthenticated and are
throttled when the feature gate UnauthenticatedHTTP2DOSMitigation is set
to true, which is the default starting in Kubernetes 1.29 (see
https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates).
This was the cause of the "GOAWAY received" errors that have been
observed on Kubernetes 1.29.

This change also decouples starting of the servers from waiting until
they become ready, so that if the readiness check fails due to some
error that propagates out of the polling loop (e.g. IOException), the
caller is free to catch it and continue waiting.
Copy link
Collaborator

@csviri csviri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thx !!!

@csviri csviri merged commit 8137188 into java-operator-sdk:main Jan 18, 2024
3 of 4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants