Skip to content

KAFKA-20898 PushTelemetry sets terminating flag on validation failure, permanently locking out client instance - #23094

Open
m1a2st wants to merge 1 commit into
apache:trunkfrom
m1a2st:KAFKA-20898
Open

KAFKA-20898 PushTelemetry sets terminating flag on validation failure, permanently locking out client instance#23094
m1a2st wants to merge 1 commit into
apache:trunkfrom
m1a2st:KAFKA-20898

Conversation

@m1a2st

@m1a2st m1a2st commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Fix a bug in ClientMetricsManager.processPushTelemetryRequest() where
the terminating flag is unconditionally set in the finally block,
even when request validation fails.

When a client sends a PushTelemetry request with terminating=true
but the request fails validation (e.g., stale subscriptionId
UNKNOWN_SUBSCRIPTION_ID), the client instance is permanently marked
as terminating. All subsequent requests from that client are rejected
with INVALID_REQUEST, making recovery impossible without creating a
new client instance.

Reviewers: Chia-Ping Tsai chia7712@gmail.com

@github-actions github-actions Bot added triage PRs from the community core Kafka Broker small Small PRs labels Aug 6, 2026
@chia7712
chia7712 requested a review from apoorvmittal10 August 6, 2026 05:57
clientInstance.terminating(request.data().terminating());
}

// Update the client instance with the latest push request parameters only

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The reported edge case is specifically about the subscriptionId changing, so should we only skip setting the terminating flag for the ID check? I agree it's more consistent to include all validation checks, but I wanted to raise this for discussion

@github-actions github-actions Bot removed the triage PRs from the community label Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Kafka Broker small Small PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants