Andy Fang created KAFKA-9583:
--------------------------------
Summary: OffsetsForLeaderEpoch requests are sometimes not sent to
the leader of partition
Key: KAFKA-9583
URL: https://issues.apache.org/jira/browse/KAFKA-9583
Project: Kafka
Issue Type: Bug
Components: clients
Affects Versions: 2.3.1, 2.4.0
Reporter: Andy Fang
In
[{{validateOffsetsAsync}}|https://github.com/apache/kafka/blob/2.3.1/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java#L737],
we group the requests by leader node for efficiency. The list of
topic-partitions are grouped from {{partitionsToValidate}} (all partitions) to
{{node}} => [{{fetchPostitions}} (partitions by
node)|https://github.com/apache/kafka/blob/2.3.1/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java#L739].
However, when actually sending the request with
{{OffsetsForLeaderEpochClient}}, we use
[{{partitionsToValidate}}|https://github.com/apache/kafka/blob/2.3.1/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java#L765],
which is the list of all topic-partitions passed into
{{validateOffsetsAsync}}. This results in extra partitions being included in
the request sent to brokers that are potentially not the leader for those
partitions.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)