[
https://issues.apache.org/jira/browse/KAFKA-9583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jason Gustafson resolved KAFKA-9583.
------------------------------------
Resolution: Fixed
> 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.4.0, 2.3.1
> Reporter: Andy Fang
> Priority: Minor
> Labels: newbie, patch, pull-request-available
> Fix For: 2.6.0, 2.5.1
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> 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.
> I have submitted a PR,
> [https://github.com/apache/kafka/pull/8077|https://github.com/apache/kafka/pull/8077],
> that fixes this issue.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)