This is an automated email from the ASF dual-hosted git repository.

yihua pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git


The following commit(s) were added to refs/heads/master by this push:
     new 2353d96c2e3b fix: Wiring in clean max commits to metadata table 
(#17819)
2353d96c2e3b is described below

commit 2353d96c2e3b2faa593dafd841a10dbd2e021beb
Author: Sivabalan Narayanan <[email protected]>
AuthorDate: Fri Jan 9 22:32:39 2026 -0800

    fix: Wiring in clean max commits to metadata table (#17819)
---
 .../java/org/apache/hudi/metadata/HoodieMetadataWriteUtils.java     | 1 +
 .../java/org/apache/hudi/metadata/TestHoodieMetadataWriteUtils.java | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataWriteUtils.java
 
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataWriteUtils.java
index c9092464558d..dfbd67356906 100644
--- 
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataWriteUtils.java
+++ 
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataWriteUtils.java
@@ -165,6 +165,7 @@ public class HoodieMetadataWriteUtils {
         .withAutoClean(false)
         .withCleanerParallelism(MDT_DEFAULT_PARALLELISM)
         .withFailedWritesCleaningPolicy(failedWritesCleaningPolicy)
+        .withMaxCommitsBeforeCleaning(writeConfig.getCleaningMaxCommits())
         .withCleanerPolicy(dataTableCleaningPolicy);
 
     if 
(HoodieCleaningPolicy.KEEP_LATEST_COMMITS.equals(dataTableCleaningPolicy)) {
diff --git 
a/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/TestHoodieMetadataWriteUtils.java
 
b/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/TestHoodieMetadataWriteUtils.java
index 3b343d3dc12a..0175cb60d663 100644
--- 
a/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/TestHoodieMetadataWriteUtils.java
+++ 
b/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/metadata/TestHoodieMetadataWriteUtils.java
@@ -50,6 +50,7 @@ public class TestHoodieMetadataWriteUtils {
         HoodieTableVersion.SIX);
     assertEquals(HoodieFailedWritesCleaningPolicy.EAGER, 
metadataWriteConfig1.getFailedWritesCleanPolicy());
     assertEquals(HoodieCleaningPolicy.KEEP_LATEST_COMMITS, 
metadataWriteConfig1.getCleanerPolicy());
+    assertEquals(1, metadataWriteConfig1.getCleaningMaxCommits());
     // default value already greater than data cleaner commits retained * 1.2
     
assertEquals(HoodieMetadataConfig.DEFAULT_METADATA_CLEANER_COMMITS_RETAINED, 
metadataWriteConfig1.getCleanerCommitsRetained());
 
@@ -60,7 +61,9 @@ public class TestHoodieMetadataWriteUtils {
         .withPath("/tmp")
         .withCleanConfig(HoodieCleanConfig.newBuilder()
             .withCleanerPolicy(HoodieCleaningPolicy.KEEP_LATEST_COMMITS)
-            .retainCommits(20).build())
+            .retainCommits(20)
+            .withMaxCommitsBeforeCleaning(10)
+            .build())
         .build();
     HoodieWriteConfig metadataWriteConfig2 = 
HoodieMetadataWriteUtils.createMetadataWriteConfig(writeConfig2, 
HoodieFailedWritesCleaningPolicy.EAGER,
         HoodieTableVersion.SIX);
@@ -68,6 +71,7 @@ public class TestHoodieMetadataWriteUtils {
     assertEquals(HoodieCleaningPolicy.KEEP_LATEST_COMMITS, 
metadataWriteConfig2.getCleanerPolicy());
     // data cleaner commits retained * 1.2 is greater than default
     assertEquals(24, metadataWriteConfig2.getCleanerCommitsRetained());
+    assertEquals(10, metadataWriteConfig2.getCleaningMaxCommits());
   }
 
   @Test

Reply via email to