junrao commented on code in PR #17739:
URL: https://github.com/apache/kafka/pull/17739#discussion_r1838700112


##########
core/src/main/java/kafka/server/share/SharePartition.java:
##########
@@ -1602,8 +1602,6 @@ protected void 
updateFetchOffsetMetadata(Optional<LogOffsetMetadata> fetchOffset
     protected Optional<LogOffsetMetadata> fetchOffsetMetadata() {
         lock.readLock().lock();
         try {
-            if (findNextFetchOffset.get())

Review Comment:
   >  Since we update fetchOffsetMetadata everytime we change endOffset, I 
don't think that we should have dependency on findNextFetchOffset while getting 
the value of fetchOffsetMetadata
   
   Hmm, the issue is that nextFetchOffset doesn't return endOffset if 
findNextFetchOffset is true. Currently we only reset fetchOffsetMetadata when 
updating the endOffset. It's possible that findNextFetchOffset stays on for 
multiple fetches without changing endOffset. In that case, we will set 
fetchOffsetMetadata for the first fetch and keep reusing it for subsequent 
fetches, which will be incorrect.



-- 
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