[ 
https://issues.apache.org/jira/browse/KAFKA-18477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17932499#comment-17932499
 ] 

Chia-Ping Tsai commented on KAFKA-18477:
----------------------------------------

[~junrao] thanks for your patience!.
{quote}
If the PartitionState never enters the Truncating state, 
fetchTruncatingPartitions() will always return empty for both 
partitionsWithEpochs and partitionsWithoutEpochs
{quote}

I was considering what would happen if we don't truncate the v0/v1 replica 
using the high watermark. For instance, if a restarted 4.0 broker has a v0/v1 
replica with [LEO=11, HW=10], it must truncate to HW before sending a fetch, 
right? I know this case is extremely rare, as the v0/v1 replica in an upgraded 
4.0 broker should have HW=LEO. 

Also, if we never need to call truncateToHighWatermark(), should we change the 
initial offset from HW to LEO?

{code:java}
  protected def initialFetchOffset(log: UnifiedLog): Long = {
    if (log.latestEpoch.nonEmpty)
      log.logEndOffset
    else
      log.highWatermark
  }
{code}

https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/server/ReplicaManager.scala#L2430

> remove usage of OffsetForLeaderEpochRequest in AbstractFetcherThread
> --------------------------------------------------------------------
>
>                 Key: KAFKA-18477
>                 URL: https://issues.apache.org/jira/browse/KAFKA-18477
>             Project: Kafka
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 4.0.0
>            Reporter: Jun Rao
>            Assignee: 黃竣陽
>            Priority: Major
>             Fix For: 4.1.0
>
>
> This is because of the base MV in 4.0 is 3.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to