danny0405 commented on a change in pull request #4336: URL: https://github.com/apache/hudi/pull/4336#discussion_r772930657
########## File path: hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriter.java ########## @@ -706,7 +706,20 @@ protected void compactIfNecessary(AbstractHoodieWriteClient writeClient, String } } - protected void doClean(AbstractHoodieWriteClient writeClient, String instantTime) { + protected void cleanIfNecessary(AbstractHoodieWriteClient writeClient, String instantTime) { + Option<HoodieInstant> lastCompletedCompactionInstant = metadataMetaClient.reloadActiveTimeline() + .getCommitTimeline().filterCompletedInstants().lastInstant(); + if (lastCompletedCompactionInstant.isPresent() + && metadataMetaClient.getActiveTimeline().filterCompletedInstants() + .findInstantsAfter(lastCompletedCompactionInstant.get().getTimestamp()).countInstants() < 3) { + // do not clean the log files immediately after compaction to give some buffer time for metadata table reader, Review comment: I guess so, we need some protection logic too for the MOR table log files or even COW table parquet files, because if we write COW table very frequently (like each 10 seconds), the reader would very probably encounter `FileNotFoundException` . -- 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: commits-unsubscr...@hudi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org