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 d6080d25425193a49926a1fca2766014a8fe7ce8
Author: voon <[email protected]>
AuthorDate: Tue May 26 23:52:45 2026 +0800

    fix(trino): pin Jetty to 12.1.9 to unblock TestingTrinoServer startup
    
    Hudi parent pom pins jetty-server / jetty-servlet to 9.4.57 (for its
    embedded timeline-server HTTP endpoint). Trino's testing scaffolding
    brings io.trino:trino-testing which expects Jetty 12.x APIs
    (org.eclipse.jetty.server.Request.Handler exists only in 12.x). The
    parent pin overrode trino-testing's declared 12.1.9 and tests crashed
    with NoClassDefFoundError when TestingTrinoServer wired up Guice.
    
    Two changes:
    - Exclude org.eclipse.jetty:* from hudi-common; the connector never
      starts a Hudi HTTP server.
    - Pin jetty-server to 12.1.9 directly in plugin dependencyManagement
      so it overrides Hudi parent for whatever else (trino-testing) pulls
      the artifact in.
    
    jetty-servlet was retired in Jetty 12 (moved to jetty-ee*-servlet) so
    no replacement pin is needed.
---
 hudi-trino-plugin/pom.xml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/hudi-trino-plugin/pom.xml b/hudi-trino-plugin/pom.xml
index c26f0bb6fbc9..3659bc9a7058 100644
--- a/hudi-trino-plugin/pom.xml
+++ b/hudi-trino-plugin/pom.xml
@@ -74,6 +74,14 @@
                 <artifactId>jackson-annotations</artifactId>
                 <version>2.21</version>
             </dependency>
+            <!-- Hudi parent pins jetty-server / jetty-servlet at 9.4.57; 
Trino runs on Jetty 12
+                 (Request$Handler etc. exist only in 12.x). Pin jetty-server 
here to keep
+                 trino-testing's classpath consistent. jetty-servlet does not 
exist in 12.x. -->
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-server</artifactId>
+                <version>12.1.9</version>
+            </dependency>
             <!-- Airbase manages junit-platform at 6.0.3 (paired with jupiter 
6.x). Hudi manages
                  jupiter at 5.14.1 (paired with platform 1.14.1). Pin platform 
here to keep the
                  pair consistent; without this, surefire fails with 
OutputDirectoryCreator not found. -->
@@ -227,6 +235,13 @@
                     <groupId>org.apache.orc</groupId>
                     <artifactId>*</artifactId>
                 </exclusion>
+                <!-- Hudi pulls Jetty 9.x for its embedded HTTP server; Trino 
runs on Jetty 12.
+                     The connector does not start a Hudi HTTP server, so drop 
the legacy artifacts
+                     to avoid jar-set conflicts (Request$Handler missing from 
9.x). -->
+                <exclusion>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
                 <!-- Not used by the connector; excluded to keep the plugin 
jar set lean. -->
                 <exclusion>
                     <groupId>org.rocksdb</groupId>

Reply via email to