mjsax opened a new pull request, #23262: URL: https://github.com/apache/kafka/pull/23262
A new StreamsGroupHeartbeatResponse status code is a semantic contract change: it requires a KIP and a request-version bump, and the broker must gate the new code so it is only sent to clients that advertise the introducing version (as it does today for MISSING_CLIENT_TAGS, withheld from v0 clients). If a broker bug sends a code an older client does not recognize, the client decodes every status via Status.fromCode, which throws -- and that throw, raised while handling the heartbeat response, is currently swallowed (KAFKA-20860): the client keeps heartbeating, advances its member epoch, and silently ignores the assignment and every one after it, while the coordinator sees a healthy member. This PR rejects the response as a whole, before any of it is applied, if it carries a status this client cannot interpret: log it, surface a KafkaException through the uncaught-exception handler, and fail the member, so the error is visible instead of silently dropping every assignment. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
