kamalcph commented on code in PR #15817: URL: https://github.com/apache/kafka/pull/15817#discussion_r1588785888
########## core/src/main/java/kafka/log/remote/RemoteLogManager.java: ########## @@ -1217,26 +1217,41 @@ public String toString() { * @return true if the remote segment's epoch/offsets are within the leader epoch lineage of the partition. */ // Visible for testing - public static boolean isRemoteSegmentWithinLeaderEpochs(RemoteLogSegmentMetadata segmentMetadata, - long logEndOffset, - NavigableMap<Integer, Long> leaderEpochs) { + static boolean isRemoteSegmentWithinLeaderEpochs(RemoteLogSegmentMetadata segmentMetadata, + long logEndOffset, + NavigableMap<Integer, Long> leaderEpochs) { long segmentEndOffset = segmentMetadata.endOffset(); // Filter epochs that does not have any messages/records associated with them. NavigableMap<Integer, Long> segmentLeaderEpochs = buildFilteredLeaderEpochMap(segmentMetadata.segmentLeaderEpochs()); // Check for out of bound epochs between segment epochs and current leader epochs. - Integer segmentFirstEpoch = segmentLeaderEpochs.firstKey(); Integer segmentLastEpoch = segmentLeaderEpochs.lastKey(); - if (segmentFirstEpoch < leaderEpochs.firstKey() || segmentLastEpoch > leaderEpochs.lastKey()) { + if (segmentLastEpoch < leaderEpochs.firstKey() || segmentLastEpoch > leaderEpochs.lastKey()) { Review Comment: I'll add integration tests with LocalTieredStorage to cover various scenarios. The test will be useful to catch any regression if we refactor the code later. -- 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