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

voonhous pushed a commit to tag rfc-105-pre-cleanup
in repository https://gitbox.apache.org/repos/asf/hudi.git

commit aff98c018a1abe2b2b699167d736bb17ec442531
Author: voon <[email protected]>
AuthorDate: Mon May 25 22:50:22 2026 +0800

    fix(trino): two-stage build under JDK 17 + JDK 25 in Trino workflows
    
    Hudi root-wide targets Java 11 and uses Lombok 1.18.36, which does not run
    on JDK 25 (the bytecode rewriter trips on class file 69). Building the
    upstream reactor with -am under JDK 25 fails inside hudi-io with
    'cannot find symbol: variable log' as Lombok silently no-ops on its own
    @Slf4j annotation.
    
    Both Trino workflows now install the upstream modules
    hudi-trino-plugin depends on (hudi-common, hudi-hive-sync, hudi-io,
    hudi-sync-common) under JDK 17 first, then switch to JDK 25 to build the
    connector standalone (no -am). This keeps the Lombok bump out of scope per
    the project memory note and aligns with the local dev IDE setup
    documented in the plugin README.
---
 .github/workflows/hudi_trino_ci.yml     | 23 +++++++++++++++++------
 .github/workflows/hudi_trino_compat.yml | 16 ++++++++++++++--
 2 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/.github/workflows/hudi_trino_ci.yml 
b/.github/workflows/hudi_trino_ci.yml
index 28214a815833..477619a84431 100644
--- a/.github/workflows/hudi_trino_ci.yml
+++ b/.github/workflows/hudi_trino_ci.yml
@@ -26,18 +26,29 @@ env:
 
 jobs:
   build-and-test:
-    name: Build and Test (JDK 25)
+    name: Build connector
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v5
+      # Hudi targets Java 11 and uses Lombok 1.18.36, which does not run on 
JDK 25.
+      # Build the upstream modules hudi-trino-plugin depends on under JDK 17 
first,
+      # install them into the local m2, then build the connector itself under 
JDK 25.
+      - name: Set up JDK 17
+        uses: actions/setup-java@v5
+        with:
+          java-version: '17'
+          distribution: 'temurin'
+          cache: maven
+      - name: Install upstream Hudi modules (JDK 17)
+        run: mvn $MVN_ARGS install -pl 
hudi-common,hudi-hive-sync,hudi-io,hudi-sync-common -am -Dmaven.test.skip=true 
-Drat.skip -Dcheckstyle.skip
       - name: Set up JDK 25
         uses: actions/setup-java@v5
         with:
           java-version: '25'
           distribution: 'temurin'
           cache: maven
-      - name: Build connector
-        # Tests live behind the hudi-trino-tests profile (Trino does not 
publish the
-        # test-jars we need). -Dmaven.test.skip=true skips test compilation so 
the build
-        # resolves cleanly against Maven Central.
-        run: mvn $MVN_ARGS -Phudi-trino -pl hudi-trino-plugin -am install 
-Dmaven.test.skip=true
+      # Tests live behind the hudi-trino-tests profile (Trino does not publish 
the
+      # test-jars we need). -Dmaven.test.skip=true skips test compilation so 
the build
+      # resolves cleanly against Maven Central.
+      - name: Build connector (JDK 25)
+        run: mvn $MVN_ARGS -Phudi-trino -pl hudi-trino-plugin install 
-Dmaven.test.skip=true
diff --git a/.github/workflows/hudi_trino_compat.yml 
b/.github/workflows/hudi_trino_compat.yml
index 60dcccd25d75..51c6a3d01973 100644
--- a/.github/workflows/hudi_trino_compat.yml
+++ b/.github/workflows/hudi_trino_compat.yml
@@ -23,6 +23,18 @@ jobs:
           repository: trinodb/trino
           ref: master
           path: trino
+      # Hudi targets Java 11 and uses Lombok 1.18.36, which does not run on 
JDK 25.
+      # Install the upstream Hudi modules under JDK 17 first, then compile the 
connector
+      # under JDK 25.
+      - name: Set up JDK 17
+        uses: actions/setup-java@v5
+        with:
+          java-version: '17'
+          distribution: 'temurin'
+          cache: maven
+      - name: Install upstream Hudi modules (JDK 17)
+        working-directory: hudi
+        run: mvn $MVN_ARGS install -pl 
hudi-common,hudi-hive-sync,hudi-io,hudi-sync-common -am -Dmaven.test.skip=true 
-Drat.skip -Dcheckstyle.skip
       - name: Set up JDK 25
         uses: actions/setup-java@v5
         with:
@@ -36,12 +48,12 @@ jobs:
           VERSION=$(grep -m1 '<version>' trino/pom.xml | sed -E 
's|.*<version>([0-9]+)(-SNAPSHOT)?</version>.*|\1|')
           echo "trino_version=$VERSION" >> "$GITHUB_OUTPUT"
           echo "Detected Trino version: $VERSION"
-      - name: Compile hudi-trino-plugin against current Trino SPI
+      - name: Compile hudi-trino-plugin against current Trino SPI (JDK 25)
         working-directory: hudi
         run: |
           mvn $MVN_ARGS -Phudi-trino \
             -Dtrino.connector.version=${{ 
steps.trino-version.outputs.trino_version }} \
-            -pl hudi-trino-plugin -am compile
+            -pl hudi-trino-plugin compile
       - name: Open issue on failure
         if: failure()
         uses: actions/github-script@v7

Reply via email to