diff --git a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java index 77b93133f..f9bea4785 100644 --- a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java +++ b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java @@ -198,10 +198,9 @@ public class HoodieLogFileCommand implements CommandMarker { HoodieMemoryConfig.DEFAULT_SPILLABLE_MAP_BASE_PATH); for (HoodieRecord hoodieRecord : scanner) { Option record = hoodieRecord.getData().getInsertValue(readerSchema); - if (allRecords.size() >= limit) { - break; + if (allRecords.size() < limit) { + allRecords.add(record.get()); } - allRecords.add(record.get()); } } else { for (String logFile : logFilePaths) { @@ -215,9 +214,10 @@ public class HoodieLogFileCommand implements CommandMarker { if (n instanceof HoodieAvroDataBlock) { HoodieAvroDataBlock blk = (HoodieAvroDataBlock) n; List records = blk.getRecords(); - allRecords.addAll(records); - if (allRecords.size() >= limit) { - break; + for (IndexedRecord record : records) { + if (allRecords.size() < limit) { + allRecords.add(record); + } } } }