Closed wolfchimneyrock closed 12 months ago
Hello @wolfchimneyrock
librdkafka is parsing ThrottleTime
correctly for version 1, here.
I think you have checked rd_kafka_handle_LeaveGroup but that code is never used and needs to be removed.
That java exception corresponds to this code. But it doesn't seem correct as in version 1 there are no members to write, not only one.
It should be faster to fix broker side. In LK we're currently focused on the new consumer group protocol that doesn't have LeaveGroup.
Description
Upgrading our Kafka Brokers to 3.4.1 we start seeing some UnsupportedVersionExceptions in the broker logs:
This is happen relatively infrequently, from what I can tell there is nothing special about the consumer configuration:
A similar issue was raised and fixed on Sarama:
https://github.com/IBM/sarama/issues/2486
In which they implemented version 3 of the LeaveGroup protocol. I suspect that the Kafka Broker is no longer concerned about correctly handling LeaveGroup v0 - v1 requests in all cases.
Also, it appears according to the kafka protocol for LeaveGroup that librdkafka is incorrectly parsing the LeaveGroup response for ApiVersion 1: There should be a ThrottleTime int32 before the ErrorCode int16. This is likely the cause of some flaky test results we've experienced.
Checklist
IMPORTANT: We will close issues where the checklist has not been completed.
Please provide the following information:
debug=..
as necessary) from librdkafka