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()
{