[
https://issues.apache.org/jira/browse/KAFKA-13778?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Jacot resolved KAFKA-13778.
---------------------------------
Fix Version/s: 3.3.0
Reviewer: David Jacot
Resolution: Fixed
> Fetch from follower should never run the preferred read replica selection
> -------------------------------------------------------------------------
>
> Key: KAFKA-13778
> URL: https://issues.apache.org/jira/browse/KAFKA-13778
> Project: Kafka
> Issue Type: Bug
> Components: core
> Affects Versions: 3.2.0
> Reporter: zhaobo
> Assignee: zhaobo
> Priority: Minor
> Fix For: 3.3.0
>
>
> The design purpose of the code is that only the leader broker can determine
> the preferred read-replica.
>
> {code:java}
> readFromLocalLog()
> ....
> // If we are the leader, determine the preferred read-replica
> val preferredReadReplica = clientMetadata.flatMap(
> metadata => findPreferredReadReplica(partition, metadata, replicaId,
> fetchInfo.fetchOffset, fetchTimeMs)) {code}
>
> But in fact, since the broker does not judge whether it is the leader or not,
> the follower will also execute the preferred read-replica selection.
> {code:java}
> partition.leaderReplicaIdOpt.flatMap { leaderReplicaId =>
> // Don't look up preferred for follower fetches via normal replication and
> if (Request.isValidBrokerId(replicaId))
> None
> else { {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)