Skip to content

Kafka sidecar: add a startupProbe so slow-starting functions aren't restart-looped #4097

Closed
knative-extensions/func-adapter-kafka
#20

Description

@aliok

What

The injected Kafka runtime sidecar (kafka-runtime container, added by the
raw/keda deployers in pkg/k8s/deployer.go) has a liveness probe but no
startupProbe (nor an initialDelaySeconds sized for cold start).

Problem

The runtime only begins serving /health/liveness after it finishes waiting for
the function target (an up-to-~60s FUNCTION_TARGET wait). A slow-starting
function — e.g. a JVM cold start that exceeds the liveness threshold — can fail
liveness before it is ever up, so the kubelet restart-loops the sidecar (and the
pod never becomes healthy).

Fix

Add a startupProbe to the sidecar container (or an initialDelaySeconds that
covers the worst-case cold start) so the liveness probe only takes effect after
startup completes. Readiness and liveness themselves landed in #4060; this closes
the remaining startup-probe gap.

/kind bug

Follow-up to #4060.

Activity

  1. self-assigned this
    on Oct 21, 2026
  2. added a commit that references this issue on Oct 23, 2026
    7d9331b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions