apoorvmittal10 commented on code in PR #18804: URL: https://github.com/apache/kafka/pull/18804#discussion_r1949964577
########## core/src/main/java/kafka/server/share/ShareFetchUtils.java: ########## @@ -187,4 +185,78 @@ static Partition partition(ReplicaManager replicaManager, TopicPartition tp) { } return partition; } + + /** + * Slice the fetch records based on the acquired records. The slicing is done based on the first + * and last offset of the acquired records from the list. The slicing doesn't consider individual + * acquired batches rather the boundaries of the acquired list. + * + * @param records The records to be sliced. + * @param shareAcquiredRecords The share acquired records containing the non-empty acquired records. + * @return The sliced records, if the records are of type FileRecords and the acquired records are a subset + * of the fetched records. Otherwise, the original records are returned. + */ + static Records maybeSliceFetchRecords(Records records, ShareAcquiredRecords shareAcquiredRecords) { + if (!shareAcquiredRecords.subsetAcquired() || !(records instanceof FileRecords fileRecords)) { Review Comment: Should I do it int this PR itself or another PR/task? Else this PR will get too long to include new API in memory records and respective individual tests, whiile integrating here. I ll prefer separately. -- 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