What version of Knative?
all recent versions
Expected Behavior
Curling a pod with a readiness probe set (with periodSeconds=0 to avoid the behaviour in #10764), should either error immediately or succeed due to us scaling things up / terminating the pod (needs discussion about what the right behaviour is!).
Actual Behavior
Curling a pod with a failed readiness check hangs (unless there are other scaled-up pods for the request). The pod is never killed, because there is no liveness probe, but the set of routable pods is empty. In upstream k8s you would get a "no healthy upstream" error, in knative your curl hangs 😢.
Steps to Reproduce the Problem
ko apply -f https://github.com/julz/readybutnotsteady/blob/main/service-no-period.yaml
- Wait for startup to succeed
curl readynotsteady.default.$domain/start-failing
- Wait a few seconds for the pod to go unready
curl readynotsteady.default.$domain (hangs).
What version of Knative?
all recent versions
Expected Behavior
Curling a pod with a readiness probe set (with periodSeconds=0 to avoid the behaviour in #10764), should either error immediately or succeed due to us scaling things up / terminating the pod (needs discussion about what the right behaviour is!).
Actual Behavior
Curling a pod with a failed readiness check hangs (unless there are other scaled-up pods for the request). The pod is never killed, because there is no liveness probe, but the set of routable pods is empty. In upstream k8s you would get a "no healthy upstream" error, in knative your curl hangs 😢.
Steps to Reproduce the Problem
ko apply -f https://github.com/julz/readybutnotsteady/blob/main/service-no-period.yamlcurl readynotsteady.default.$domain/start-failingcurl readynotsteady.default.$domain(hangs).