ji-seung-ryu commented on PR #19872:
URL: https://github.com/apache/kafka/pull/19872#issuecomment-2935974699

   Thank you, @adixitconfluent @apoorvmittal10 I got your point. I am wondering 
the  the purpose of assert of doAsnwer chain (check the value of share 
partition nextFetchOffset). Actually nextFetchOffset is already called before 
it in `acquirablePartitions` method in DelayedShareFetch class. 
   
   Flow is like this. 
   
   1. `fetchMessages` method in `SharePartitionManager` class
   2. `processShareFetch` method in `SharePartitionManager` class
   3. `addDelayedShareFetch` method in `SharePartitionManager` class
   4. `addDelayedShareFetchRequest` method in `ReplicaManager` class
   5. `tryCompleteElseWatch` method in `DelayedOperationPurgatory` class
   6.  `safeTryCompleteOrElse` method in `DelayedOperation` class
   7.  `tryComplete` method in `DelayedShareFetch` class
   8.  `acquirablePartitions` method in `DelayedShareFetch` class
   
   There is `topicPartitionData.put(topicIdPartition, 
sharePartition.nextFetchOffset());` in `acquirablePartitions` method which is 
already called before assert of doAsnwer chain. Since this is called more than 
5 times, so the last values (25, 5, 26, 16) was always found in assert of 
doAsnwer chain.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to