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


Reply via email to