This is an automated email from the ASF dual-hosted git repository. voonhous pushed a commit to branch branch-1.2.x in repository https://gitbox.apache.org/repos/asf/hudi.git
commit 477d68d4c4ec1686d85cbea90d1499013cd53a7f 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() {
