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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]