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

voonhous pushed a commit to branch release-1.2.1
in repository https://gitbox.apache.org/repos/asf/hudi.git


The following commit(s) were added to refs/heads/release-1.2.1 by this push:
     new 52ab4c3cc5b8 feat(trino): accept hudi.max-split-size as an alias 
(#20005)
52ab4c3cc5b8 is described below

commit 52ab4c3cc5b8ab34da00426ad72f3231109d1143
Author: voonhous <[email protected]>
AuthorDate: Mon Sep 21 11:39:35 2026 +0800

    feat(trino): accept hudi.max-split-size as an alias (#20005)
    
    Trino's built-in Hudi connector configures split size with
    hudi.max-split-size, which hudi-trino calls hudi.target-split-size.
    Both split base files the same way (same 1.1x slop), so register the
    Trino name as a @LegacyConfig alias. Catalogs migrating from Trino
    keep working instead of failing startup on an unused property.
    
    The default stays 128MB; catalogs that relied on Trino's 120MB
    default without setting the property get slightly larger splits.
    
    Closes #19996
    
    (cherry picked from commit 57a58c7123d87816cd81d67090c11cfffa312531)
---
 hudi-trino/src/main/java/io/trino/plugin/hudi/HudiConfig.java |  2 ++
 .../src/test/java/io/trino/plugin/hudi/TestHudiConfig.java    | 11 +++++++++++
 2 files changed, 13 insertions(+)

diff --git a/hudi-trino/src/main/java/io/trino/plugin/hudi/HudiConfig.java 
b/hudi-trino/src/main/java/io/trino/plugin/hudi/HudiConfig.java
index c5ce5ce0e23d..c98127226de8 100644
--- a/hudi-trino/src/main/java/io/trino/plugin/hudi/HudiConfig.java
+++ b/hudi-trino/src/main/java/io/trino/plugin/hudi/HudiConfig.java
@@ -17,6 +17,7 @@ import com.google.common.collect.ImmutableList;
 import io.airlift.configuration.Config;
 import io.airlift.configuration.ConfigDescription;
 import io.airlift.configuration.DefunctConfig;
+import io.airlift.configuration.LegacyConfig;
 import io.airlift.units.DataSize;
 import io.airlift.units.Duration;
 import io.airlift.units.MinDataSize;
@@ -213,6 +214,7 @@ public class HudiConfig
     }
 
     @Config("hudi.target-split-size")
+    @LegacyConfig("hudi.max-split-size")
     @ConfigDescription("The target split size")
     public HudiConfig setTargetSplitSize(DataSize targetSplitSize)
     {
diff --git a/hudi-trino/src/test/java/io/trino/plugin/hudi/TestHudiConfig.java 
b/hudi-trino/src/test/java/io/trino/plugin/hudi/TestHudiConfig.java
index 29aeded55ffd..4fa3edacacb7 100644
--- a/hudi-trino/src/test/java/io/trino/plugin/hudi/TestHudiConfig.java
+++ b/hudi-trino/src/test/java/io/trino/plugin/hudi/TestHudiConfig.java
@@ -22,6 +22,7 @@ import org.junit.jupiter.api.Test;
 
 import java.util.Map;
 
+import static 
io.airlift.configuration.testing.ConfigAssertions.assertDeprecatedEquivalence;
 import static 
io.airlift.configuration.testing.ConfigAssertions.assertFullMapping;
 import static 
io.airlift.configuration.testing.ConfigAssertions.assertRecordedDefaults;
 import static io.airlift.configuration.testing.ConfigAssertions.recordDefaults;
@@ -134,6 +135,16 @@ public class TestHudiConfig
         assertFullMapping(properties, expected);
     }
 
+    @Test
+    public void testLegacyMaxSplitSize()
+    {
+        // Trino's built-in Hudi connector names this property 
hudi.max-split-size
+        assertDeprecatedEquivalence(
+                HudiConfig.class,
+                ImmutableMap.of("hudi.target-split-size", "32MB"),
+                ImmutableMap.of("hudi.max-split-size", "32MB"));
+    }
+
     @Test
     public void testTargetSplitSizeValidation()
     {

Reply via email to