showuon commented on code in PR #16681:
URL: https://github.com/apache/kafka/pull/16681#discussion_r1715192773
##########
core/src/main/java/kafka/log/remote/RemoteLogManager.java:
##########
@@ -1341,24 +1374,24 @@ private Optional<RetentionTimeData>
buildRetentionTimeData(long retentionMs) {
private Optional<RetentionSizeData> buildRetentionSizeData(long
retentionSize,
long
onlyLocalLogSegmentsSize,
long
logEndOffset,
-
NavigableMap<Integer, Long> epochEntries) throws RemoteStorageException {
+
NavigableMap<Integer, Long> epochEntries,
+
List<RemoteLogSegmentMetadata> segments
+ ) {
if (retentionSize > -1) {
long startTimeMs = time.milliseconds();
long remoteLogSizeBytes = 0L;
Set<RemoteLogSegmentId> visitedSegmentIds = new HashSet<>();
- for (Integer epoch : epochEntries.navigableKeySet()) {
- // remoteLogSize(topicIdPartition, epochEntry.epoch) may
not be completely accurate as the remote
- // log size may be computed for all the segments but not
for segments with in the current
- // partition's leader epoch lineage. Better to revisit
this API.
- // remoteLogSizeBytes +=
remoteLogMetadataManager.remoteLogSize(topicIdPartition, epochEntry.epoch);
- Iterator<RemoteLogSegmentMetadata> segmentsIterator =
remoteLogMetadataManager.listRemoteLogSegments(topicIdPartition, epoch);
- while (segmentsIterator.hasNext()) {
- RemoteLogSegmentMetadata segmentMetadata =
segmentsIterator.next();
- RemoteLogSegmentId segmentId =
segmentMetadata.remoteLogSegmentId();
- if (!visitedSegmentIds.contains(segmentId) &&
isRemoteSegmentWithinLeaderEpochs(segmentMetadata, logEndOffset, epochEntries))
{
- remoteLogSizeBytes +=
segmentMetadata.segmentSizeInBytes();
- visitedSegmentIds.add(segmentId);
- }
+ // remoteLogSize(topicIdPartition, epochEntry.epoch) may not
be completely accurate as the remote
+ // log size may be computed for all the segments but not for
segments with in the current
+ // partition's leader epoch lineage. Better to revisit this
API.
+ // remoteLogSizeBytes +=
remoteLogMetadataManager.remoteLogSize(topicIdPartition, epochEntry.epoch);
Review Comment:
If you think there's a potential bug existed, please file a JIRA for future
improvement.
--
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]