hachikuji commented on a change in pull request #9590: URL: https://github.com/apache/kafka/pull/9590#discussion_r537811235
########## File path: clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java ########## @@ -198,7 +198,7 @@ private static FilterResult filterTo(TopicPartition partition, Iterable<MutableR if (!retainedRecords.isEmpty()) { if (writeOriginalBatch) { batch.writeTo(bufferOutputStream); - filterResult.updateRetainedBatchMetadata(batch, retainedRecords.size(), false); + filterResult.updateRetainedBatchMetadata(batch, retainedRecords.get(0).offset(), retainedRecords.size(), false); Review comment: I don't think we have much choice given retention semantics. I think we have to keep the invariant that the segment base offset is less than or equal to the base offset of any batch contained in it. Note that these batches are still returned in Fetch requests, so it seems reasonable to let the log start offset reflect them. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org