m1a2st commented on code in PR #19214: URL: https://github.com/apache/kafka/pull/19214#discussion_r2001205036
########## clients/src/test/java/org/apache/kafka/common/record/FileRecordsTest.java: ########## @@ -518,6 +523,176 @@ public void testBytesLengthOfWriteTo() throws IOException { verify(channel).transferFrom(any(), anyLong(), eq((long) size - firstWritten)); } + /** + * Test two condition + * 1. If the target offset equals to the base offset of the first batch + * 2. If the target offset < the base offset of the first batch + */ + @ParameterizedTest + @ValueSource(longs = {5, 10}) + public void testSearchForOffsetWithSizeLastOffsetCallCountFirstBatchMatch(long baseOffset) throws IOException { + File mockFile = mock(File.class); + FileChannel mockChannel = mock(FileChannel.class); + FileLogInputStream.FileChannelRecordBatch batch = mock(FileLogInputStream.FileChannelRecordBatch.class); + when(batch.baseOffset()).thenReturn(baseOffset); + + FileRecords fileRecords = Mockito.spy(new FileRecords(mockFile, mockChannel, 0, 100, false)); + mockFileRecordBatches(fileRecords, batch); + + FileRecords.LogOffsetPosition result = fileRecords.searchForOffsetWithSize(5L, 0); + + assertEquals(FileRecords.LogOffsetPosition.fromBatch(batch), result); + verify(batch, never()).lastOffset(); + } + + @Test + public void testSearchForOffsetWithSizeLastOffsetCallCountFirstBatchLastOffsetMatch() throws IOException { Review Comment: Good idea, addressed it -- 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