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

jerryshao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new 81e4a7297f [#10788] improvement(deps): upgrade Hadoop from 2.10.2 to 
3.3.6 and remove hadoop2 dependency line (#10789)
81e4a7297f is described below

commit 81e4a7297f8284558fb7fdfc79b6966f96aa7a17
Author: geyanggang <[email protected]>
AuthorDate: Wed May 6 17:28:18 2026 +0800

    [#10788] improvement(deps): upgrade Hadoop from 2.10.2 to 3.3.6 and remove 
hadoop2 dependency line (#10789)
    
    ### What changes were proposed in this pull request?
    
    - Remove `hadoop2` version (2.10.2) and its 6 library definitions from
    libs.versions.toml
    - Bump `hadoop3` from 3.3.1 to 3.3.6 (including `hadoop3-abs`,
    `hadoop3-aliyun`, `hadoop-minikdc`)
    - Replace all `libs.hadoop2.*` references with `libs.hadoop3.*` in 8
    build files
    - Add Hadoop 3.x runtime dependencies stripped by `exclude("*")`:
    `hadoop-shaded-guava`, `hadoop-shaded-protobuf`,
    `commons-configuration2`, `re2j`,`hadoop-hdfs-client`
    - Remove outdated hadoop2/hadoop3 conflict comment in `catalog-hive`
    
    ### Why are the changes needed?
    
    - The `hadoop2` (2.10.2) dependency line brings in outdated transitive
    dependencies (Jackson 2.6.x, Netty 3.x, Jetty 9.3.x) that are no longer
    maintained
    - `hive-metastore3-libs` was incorrectly configured with `hadoop2`
    despite Hive 3.1.3 natively depending on Hadoop 3.1.0
    - Unifying on a single Hadoop version eliminates classpath conflicts and
    simplifies dependency management
    
    Fix: #10788
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    - Full compilation (`./gradlew build -x test`) — passed
    - Verified `hadoop-common-3.3.6` resolves in all affected modules, no
    Hadoop 2.x JARs in distribution
    - All unit tests passed across 12 key modules including `catalog-hive`,
    `hive-metastore-common`, `catalog-lakehouse-hudi`, `catalog-fileset`,
    `filesystem-hadoop3`, `hadoop-common`, `authorization-ranger`,
    `spark-connector`, `flink-connector`, `core`
    - Integration tests pending CI validation
---
 .../authorization-chain/build.gradle.kts           |  1 +
 .../authorization-ranger/build.gradle.kts          |  1 +
 catalogs/catalog-hive/build.gradle.kts             | 31 ++++++++++++----------
 catalogs/catalog-lakehouse-hudi/build.gradle.kts   | 21 +++++++++++----
 .../hudi/integration/test/HudiCatalogHMSIT.java    |  4 +++
 catalogs/catalog-lakehouse-paimon/build.gradle.kts | 17 ++++++------
 catalogs/hive-metastore-common/build.gradle.kts    | 11 +++++---
 catalogs/hive-metastore2-libs/build.gradle.kts     | 12 +++++++--
 catalogs/hive-metastore3-libs/build.gradle.kts     |  5 +++-
 .../filesystem-hadoop3-runtime/build.gradle.kts    |  6 ++++-
 clients/filesystem-hadoop3/build.gradle.kts        |  1 +
 .../GravitinoVirtualFileSystemABSCredentialIT.java |  2 +-
 flink-connector/flink/build.gradle.kts             | 12 ++++++---
 gradle/libs.versions.toml                          | 25 +++++++++--------
 trino-connector/integration-test/build.gradle.kts  | 12 ++++++---
 15 files changed, 108 insertions(+), 53 deletions(-)

diff --git a/authorizations/authorization-chain/build.gradle.kts 
b/authorizations/authorization-chain/build.gradle.kts
index cf19b23834..8ab42a9e4d 100644
--- a/authorizations/authorization-chain/build.gradle.kts
+++ b/authorizations/authorization-chain/build.gradle.kts
@@ -104,6 +104,7 @@ dependencies {
     exclude("javax.servlet", "servlet-api")
     exclude("io.netty")
   }
+  testImplementation(libs.hadoop3.hdfs.client)
 }
 
 tasks {
diff --git a/authorizations/authorization-ranger/build.gradle.kts 
b/authorizations/authorization-ranger/build.gradle.kts
index 4b6ee3b7c4..506466fa38 100644
--- a/authorizations/authorization-ranger/build.gradle.kts
+++ b/authorizations/authorization-ranger/build.gradle.kts
@@ -105,6 +105,7 @@ dependencies {
     exclude("javax.servlet", "servlet-api")
     exclude("io.netty")
   }
+  testImplementation(libs.hadoop3.hdfs.client)
   
testImplementation("org.apache.iceberg:iceberg-spark-runtime-${sparkMajorVersion}_$scalaVersion:$icebergVersion")
   
testImplementation("org.apache.paimon:paimon-spark-$sparkMajorVersion:$paimonVersion")
 }
diff --git a/catalogs/catalog-hive/build.gradle.kts 
b/catalogs/catalog-hive/build.gradle.kts
index dba710c587..ed40edb1a8 100644
--- a/catalogs/catalog-hive/build.gradle.kts
+++ b/catalogs/catalog-hive/build.gradle.kts
@@ -49,12 +49,17 @@ dependencies {
   implementation(libs.commons.io)
   implementation(libs.commons.lang3)
   implementation(libs.guava)
-  implementation(libs.hadoop2.auth) {
+  implementation(libs.hadoop3.auth) {
     exclude("*")
   }
-  implementation(libs.hadoop2.common) {
+  implementation(libs.hadoop3.common) {
     exclude("*")
   }
+  // Hadoop 3.x runtime requirements (stripped by exclude("*") above)
+  implementation(libs.hadoop3.shaded.guava)
+  implementation(libs.hadoop3.shaded.protobuf)
+  implementation(libs.commons.configuration2)
+  implementation(libs.re2j)
   implementation(libs.htrace.core4)
   implementation(libs.slf4j.api)
   implementation(libs.woodstox.core)
@@ -89,14 +94,20 @@ dependencies {
   testImplementation(libs.bundles.jersey)
   testImplementation(libs.bundles.jetty)
   testImplementation(libs.bundles.log4j)
-  testImplementation(libs.hadoop2.aws)
-  testImplementation(libs.hadoop2.common) {
+  testImplementation(libs.hadoop3.aws)
+  testImplementation(libs.hadoop3.common) {
     exclude("*")
   }
-  testImplementation(libs.hadoop2.hdfs)
-  testImplementation(libs.hadoop2.mapreduce.client.core) {
+  testImplementation(libs.hadoop3.hdfs)
+  testImplementation(libs.hadoop3.hdfs.client)
+  testImplementation(libs.hadoop3.mapreduce.client.core) {
     exclude("*")
   }
+  // Hadoop 3.x runtime requirements (stripped by exclude("*") above)
+  testImplementation(libs.hadoop3.shaded.guava)
+  testImplementation(libs.hadoop3.shaded.protobuf)
+  testImplementation(libs.commons.configuration2)
+  testImplementation(libs.re2j)
   testImplementation(libs.hadoop3.abs)
   testImplementation(libs.hadoop3.gcs)
   testImplementation(libs.hive2.common) {
@@ -112,14 +123,6 @@ dependencies {
   testImplementation(libs.testcontainers.localstack)
   testImplementation(libs.testcontainers.mysql)
 
-  // You need this to run test CatalogHiveABSIT as it required hadoop3 
environment introduced by hadoop3.abs
-  // (The protocol `abfss` was first introduced in Hadoop 3.2.0), However, as 
the there already exists
-  // hadoop2.common in the test classpath, If we added the following 
dependencies directly, it will
-  // cause the conflict between hadoop2 and hadoop3, resulting test failures, 
so we comment the
-  // following line temporarily, if you want to run the test, please uncomment 
it.
-  // In the future, we may need to refactor the test to avoid the conflict.
-  // testImplementation(libs.hadoop3.common)
-
   testRuntimeOnly(libs.junit.jupiter.engine)
 }
 
diff --git a/catalogs/catalog-lakehouse-hudi/build.gradle.kts 
b/catalogs/catalog-lakehouse-hudi/build.gradle.kts
index e50fed0778..5fd87a9c7a 100644
--- a/catalogs/catalog-lakehouse-hudi/build.gradle.kts
+++ b/catalogs/catalog-lakehouse-hudi/build.gradle.kts
@@ -48,12 +48,17 @@ dependencies {
   implementation(libs.commons.io)
   implementation(libs.commons.lang3)
   implementation(libs.guava)
-  implementation(libs.hadoop2.auth) {
+  implementation(libs.hadoop3.auth) {
     exclude("*")
   }
-  implementation(libs.hadoop2.common) {
+  implementation(libs.hadoop3.common) {
     exclude("*")
   }
+  // Hadoop 3.x runtime requirements (stripped by exclude("*") above)
+  implementation(libs.hadoop3.shaded.guava)
+  implementation(libs.hadoop3.shaded.protobuf)
+  implementation(libs.commons.configuration2)
+  implementation(libs.re2j)
   implementation(libs.htrace.core4)
   implementation(libs.slf4j.api)
   implementation(libs.woodstox.core)
@@ -113,13 +118,19 @@ dependencies {
   testImplementation(libs.datanucleus.jdo)
   testImplementation(libs.datanucleus.rdbms)
   testImplementation(libs.derby)
-  testImplementation(libs.hadoop2.auth) {
+  testImplementation(libs.hadoop3.auth) {
     exclude("*")
   }
-  testImplementation(libs.hadoop2.hdfs)
-  testImplementation(libs.hadoop2.mapreduce.client.core) {
+  testImplementation(libs.hadoop3.hdfs)
+  testImplementation(libs.hadoop3.hdfs.client)
+  testImplementation(libs.hadoop3.mapreduce.client.core) {
     exclude("*")
   }
+  // Hadoop 3.x runtime requirements (stripped by exclude("*") above)
+  testImplementation(libs.hadoop3.shaded.guava)
+  testImplementation(libs.hadoop3.shaded.protobuf)
+  testImplementation(libs.commons.configuration2)
+  testImplementation(libs.re2j)
   testImplementation(libs.htrace.core4)
   testImplementation(libs.junit.jupiter.api)
   testImplementation(libs.mysql.driver)
diff --git 
a/catalogs/catalog-lakehouse-hudi/src/test/java/org/apache/gravitino/catalog/lakehouse/hudi/integration/test/HudiCatalogHMSIT.java
 
b/catalogs/catalog-lakehouse-hudi/src/test/java/org/apache/gravitino/catalog/lakehouse/hudi/integration/test/HudiCatalogHMSIT.java
index c893997b4c..dca8dbbc40 100644
--- 
a/catalogs/catalog-lakehouse-hudi/src/test/java/org/apache/gravitino/catalog/lakehouse/hudi/integration/test/HudiCatalogHMSIT.java
+++ 
b/catalogs/catalog-lakehouse-hudi/src/test/java/org/apache/gravitino/catalog/lakehouse/hudi/integration/test/HudiCatalogHMSIT.java
@@ -469,6 +469,10 @@ public class HudiCatalogHMSIT extends BaseIT {
                 "org.apache.spark.sql.hudi.catalog.HoodieCatalog")
             .config("spark.kryo.registrator", 
"org.apache.spark.HoodieSparkKryoRegistrar")
             .config("dfs.replication", "1")
+            // Disable Hudi metadata table to avoid NoSuchMethodError caused 
by Hudi 0.15.0's
+            // shaded HBase code (HoodieHFileReader) being incompatible with 
hadoop-hdfs-client
+            // 3.3.6. See: https://github.com/apache/hudi/issues/5765
+            .config("hoodie.metadata.enable", "false")
             .enableHiveSupport()
             .getOrCreate();
 
diff --git a/catalogs/catalog-lakehouse-paimon/build.gradle.kts 
b/catalogs/catalog-lakehouse-paimon/build.gradle.kts
index 903814bd1c..ab9eb42986 100644
--- a/catalogs/catalog-lakehouse-paimon/build.gradle.kts
+++ b/catalogs/catalog-lakehouse-paimon/build.gradle.kts
@@ -103,26 +103,25 @@ dependencies {
   }
   implementation(libs.commons.lang3)
   implementation(libs.guava)
-  implementation(libs.hadoop2.common) {
+  implementation(libs.hadoop3.common) {
     exclude("com.github.spotbugs")
     exclude("com.sun.jersey")
+    exclude("com.github.pjfanning", "jersey-json")
     exclude("javax.servlet")
     exclude("org.apache.avro")
     exclude("net.java.dev.jets3t")
     exclude("org.apache.curator")
     exclude("org.apache.zookeeper")
     exclude("org.mortbay.jetty")
+    exclude("org.eclipse.jetty")
+    exclude("ch.qos.reload4j")
+    exclude("org.slf4j", "slf4j-reload4j")
   }
-  implementation(libs.hadoop2.hdfs) {
+  implementation(libs.hadoop3.hdfs) {
     exclude("*")
   }
-  implementation(libs.hadoop2.hdfs.client) {
-    exclude("com.sun.jersey")
-    exclude("javax.servlet")
-    exclude("org.fusesource.leveldbjni")
-    exclude("org.mortbay.jetty")
-  }
-  implementation(libs.hadoop2.mapreduce.client.core) {
+  implementation(libs.hadoop3.hdfs.client)
+  implementation(libs.hadoop3.mapreduce.client.core) {
     exclude("*")
   }
 
diff --git a/catalogs/hive-metastore-common/build.gradle.kts 
b/catalogs/hive-metastore-common/build.gradle.kts
index aee7e7b812..10db17f962 100644
--- a/catalogs/hive-metastore-common/build.gradle.kts
+++ b/catalogs/hive-metastore-common/build.gradle.kts
@@ -55,15 +55,20 @@ dependencies {
   testImplementation(libs.datanucleus.jdo)
   testImplementation(libs.datanucleus.rdbms)
   testImplementation(libs.derby)
-  testImplementation(libs.hadoop2.auth) {
+  testImplementation(libs.hadoop3.auth) {
     exclude("*")
   }
-  testImplementation(libs.hadoop2.common) {
+  testImplementation(libs.hadoop3.common) {
     exclude("*")
   }
-  testImplementation(libs.hadoop2.mapreduce.client.core) {
+  testImplementation(libs.hadoop3.mapreduce.client.core) {
     exclude("*")
   }
+  // Hadoop 3.x runtime requirements (stripped by exclude("*") above)
+  testImplementation(libs.hadoop3.shaded.guava)
+  testImplementation(libs.hadoop3.shaded.protobuf)
+  testImplementation(libs.commons.configuration2)
+  testImplementation(libs.re2j)
   testImplementation(libs.hive2.exec) {
     artifact {
       classifier = "core"
diff --git a/catalogs/hive-metastore2-libs/build.gradle.kts 
b/catalogs/hive-metastore2-libs/build.gradle.kts
index c16395e77d..5a308de7f0 100644
--- a/catalogs/hive-metastore2-libs/build.gradle.kts
+++ b/catalogs/hive-metastore2-libs/build.gradle.kts
@@ -29,27 +29,35 @@ plugins {
 // Guava and Logback are excluded because they are provided by the Gravitino 
runtime classpath.
 
 dependencies {
-  implementation(libs.hadoop2.common) {
+  implementation(libs.hadoop3.common) {
     exclude(group = "ch.qos.logback")
+    exclude(group = "ch.qos.reload4j")
     exclude(group = "com.fasterxml.jackson.core")
+    exclude(group = "com.github.pjfanning", module = "jersey-json")
     exclude(group = "com.github.spotbugs")
     exclude(group = "com.google.code.findbugs")
     exclude(group = "com.google.guava")
+    exclude(group = "com.sun.jersey")
     exclude(group = "log4j")
     exclude(group = "net.java.dev.jets3t")
     exclude(group = "org.apache.avro")
     exclude(group = "org.apache.logging.log4j")
+    exclude(group = "org.eclipse.jetty")
     exclude(group = "org.eclipse.jetty.aggregate", module = "jetty-all")
     exclude(group = "org.eclipse.jetty.orbit", module = "javax.servlet")
     exclude(group = "org.slf4j")
   }
-  implementation(libs.hadoop2.mapreduce.client.core) {
+  implementation(libs.hadoop3.mapreduce.client.core) {
+    exclude(group = "ch.qos.reload4j")
+    exclude(group = "com.github.pjfanning", module = "jersey-json")
     exclude(group = "com.github.spotbugs")
     exclude(group = "com.google.code.findbugs")
     exclude(group = "com.google.guava")
+    exclude(group = "com.sun.jersey")
     exclude(group = "log4j")
     exclude(group = "org.apache.avro")
     exclude(group = "org.apache.logging.log4j")
+    exclude(group = "org.eclipse.jetty")
     exclude(group = "org.slf4j")
   }
   implementation(libs.hive2.metastore) {
diff --git a/catalogs/hive-metastore3-libs/build.gradle.kts 
b/catalogs/hive-metastore3-libs/build.gradle.kts
index bfb06c7d8d..55669a493b 100644
--- a/catalogs/hive-metastore3-libs/build.gradle.kts
+++ b/catalogs/hive-metastore3-libs/build.gradle.kts
@@ -29,12 +29,15 @@ plugins {
 // Guava and Logback are excluded because they are provided by the Gravitino 
runtime classpath.
 
 dependencies {
-  implementation(libs.hadoop2.common) {
+  implementation(libs.hadoop3.common) {
     exclude(group = "ch.qos.logback")
+    exclude(group = "ch.qos.reload4j")
     exclude(group = "com.fasterxml.jackson.core")
+    exclude(group = "com.github.pjfanning", module = "jersey-json")
     exclude(group = "com.github.spotbugs")
     exclude(group = "com.google.code.findbugs")
     exclude(group = "com.google.guava")
+    exclude(group = "com.sun.jersey")
     exclude(group = "log4j")
     exclude(group = "net.java.dev.jets3t")
     exclude(group = "org.apache.avro")
diff --git a/clients/filesystem-hadoop3-runtime/build.gradle.kts 
b/clients/filesystem-hadoop3-runtime/build.gradle.kts
index 0916f94a70..2a5b36b79f 100644
--- a/clients/filesystem-hadoop3-runtime/build.gradle.kts
+++ b/clients/filesystem-hadoop3-runtime/build.gradle.kts
@@ -43,7 +43,11 @@ tasks.withType<ShadowJar>(ShadowJar::class.java) {
   archiveClassifier.set("")
 
   // Relocate dependencies to avoid conflicts
-  relocate("com.google", "org.apache.gravitino.shaded.com.google")
+  relocate("com.google", "org.apache.gravitino.shaded.com.google") {
+    // Do not relocate com.google.cloud.hadoop classes — they come from the 
external
+    // gcs-connector jar on the user's Hadoop classpath and must keep their 
original package name.
+    exclude("com.google.cloud.hadoop.**")
+  }
   relocate("com.github.benmanes.caffeine", 
"org.apache.gravitino.shaded.com.github.benmanes.caffeine")
   // relocate common lang3 package
   relocate("org.apache.commons.lang3", 
"org.apache.gravitino.shaded.org.apache.commons.lang3")
diff --git a/clients/filesystem-hadoop3/build.gradle.kts 
b/clients/filesystem-hadoop3/build.gradle.kts
index 48c2d9b2c6..76000c6abe 100644
--- a/clients/filesystem-hadoop3/build.gradle.kts
+++ b/clients/filesystem-hadoop3/build.gradle.kts
@@ -68,6 +68,7 @@ dependencies {
     exclude("javax.servlet", "servlet-api")
     exclude("io.netty")
   }
+  testImplementation(libs.hadoop3.hdfs.client)
   testImplementation(libs.httpclient5)
   testImplementation(libs.javax.jaxb.api) {
     exclude("*")
diff --git 
a/clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/integration/test/GravitinoVirtualFileSystemABSCredentialIT.java
 
b/clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/integration/test/GravitinoVirtualFileSystemABSCredentialIT.java
index 9f30257253..99f21812bb 100644
--- 
a/clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/integration/test/GravitinoVirtualFileSystemABSCredentialIT.java
+++ 
b/clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/integration/test/GravitinoVirtualFileSystemABSCredentialIT.java
@@ -111,7 +111,7 @@ public class GravitinoVirtualFileSystemABSCredentialIT 
extends GravitinoVirtualF
     conf.set(AzureProperties.GRAVITINO_AZURE_STORAGE_ACCOUNT_KEY, 
ABS_ACCOUNT_KEY);
     conf.set("fs.abfss.impl", 
"org.apache.hadoop.fs.azurebfs.SecureAzureBlobFileSystem");
 
-    conf.set("fs.gravitino.client.useCloudStoreCredential", "true");
+    conf.set("fs.gravitino.enableCredentialVending", "true");
   }
 
   @AfterAll
diff --git a/flink-connector/flink/build.gradle.kts 
b/flink-connector/flink/build.gradle.kts
index da01614f51..0e3b595366 100644
--- a/flink-connector/flink/build.gradle.kts
+++ b/flink-connector/flink/build.gradle.kts
@@ -129,10 +129,10 @@ dependencies {
     exclude("org.slf4j")
   }
 
-  testImplementation(libs.hadoop2.common) {
+  testImplementation(libs.hadoop3.common) {
     exclude("*")
   }
-  testImplementation(libs.hadoop2.hdfs) {
+  testImplementation(libs.hadoop3.hdfs) {
     exclude("com.sun.jersey")
     exclude("commons-cli", "commons-cli")
     exclude("commons-io", "commons-io")
@@ -141,9 +141,15 @@ dependencies {
     exclude("javax.servlet", "servlet-api")
     exclude("org.mortbay.jetty")
   }
-  testImplementation(libs.hadoop2.mapreduce.client.core) {
+  testImplementation(libs.hadoop3.hdfs.client)
+  testImplementation(libs.hadoop3.mapreduce.client.core) {
     exclude("*")
   }
+  // Hadoop 3.x runtime requirements (stripped by exclude("*") above)
+  testImplementation(libs.hadoop3.shaded.guava)
+  testImplementation(libs.hadoop3.shaded.protobuf)
+  testImplementation(libs.commons.configuration2)
+  testImplementation(libs.re2j)
   testImplementation(libs.hive2.common) {
     exclude("org.eclipse.jetty.aggregate", "jetty-all")
     exclude("org.eclipse.jetty.orbit", "javax.servlet")
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 5fa2a69779..685be80560 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -38,18 +38,20 @@ airlift-json = "237"
 airlift-resolver = "1.6"
 hive2 = "2.3.9"
 hive3 = "3.1.3"
-hadoop2 = "2.10.2"
-hadoop3 = "3.3.1"
+hadoop3 = "3.3.6"
 hadoop3-gcs = "1.9.4-hadoop3"
-hadoop3-abs = "3.3.1"
-hadoop3-aliyun = "3.3.1"
-hadoop-minikdc = "3.3.1"
+hadoop3-abs = "3.3.6"
+hadoop3-aliyun = "3.3.6"
+hadoop3-thirdparty = "1.1.1"
+hadoop-minikdc = "3.3.6"
+re2j = "1.7"
 htrace-core4 = "4.1.0-incubating"
 httpclient = "4.4.1"
 httpclient5 = "5.4.4"
 httpcore5 = "5.3.4"
 micrometer-core = "1.12.2"
 mockserver = "5.15.0"
+commons-configuration2 = "2.8.0"
 commons-csv = "1.12.0"
 commons-lang3 = "3.14.0"
 commons-lang = "2.6"
@@ -197,22 +199,22 @@ hive2-common = { group = "org.apache.hive", name = 
"hive-common", version.ref =
 hive2-jdbc = { group = "org.apache.hive", name = "hive-jdbc", version.ref = 
"hive2"}
 hive3-metastore = { group = "org.apache.hive", name = "hive-metastore", 
version.ref = "hive3"}
 hive3-common = { group = "org.apache.hive", name = "hive-common", version.ref 
= "hive3"}
-hadoop2-auth = { group = "org.apache.hadoop", name = "hadoop-auth", 
version.ref = "hadoop2" }
-hadoop2-hdfs = { group = "org.apache.hadoop", name = "hadoop-hdfs", 
version.ref = "hadoop2" }
-hadoop2-hdfs-client = { group = "org.apache.hadoop", name = 
"hadoop-hdfs-client", version.ref = "hadoop2" }
-hadoop2-common = { group = "org.apache.hadoop", name = "hadoop-common", 
version.ref = "hadoop2"}
-hadoop2-mapreduce-client-core = { group = "org.apache.hadoop", name = 
"hadoop-mapreduce-client-core", version.ref = "hadoop2"}
-hadoop2-aws = { group = "org.apache.hadoop", name = "hadoop-aws", version.ref 
= "hadoop2"}
 hadoop3-aws = { group = "org.apache.hadoop", name = "hadoop-aws", version.ref 
= "hadoop3"}
+hadoop3-auth = { group = "org.apache.hadoop", name = "hadoop-auth", 
version.ref = "hadoop3" }
 hadoop3-hdfs = { group = "org.apache.hadoop", name = "hadoop-hdfs", 
version.ref = "hadoop3" }
+hadoop3-hdfs-client = { group = "org.apache.hadoop", name = 
"hadoop-hdfs-client", version.ref = "hadoop3" }
 hadoop3-common = { group = "org.apache.hadoop", name = "hadoop-common", 
version.ref = "hadoop3"}
 hadoop3-client = { group = "org.apache.hadoop", name = "hadoop-client", 
version.ref = "hadoop3"}
 hadoop3-client-api = { group = "org.apache.hadoop", name = 
"hadoop-client-api", version.ref = "hadoop3"}
 hadoop3-client-runtime = { group = "org.apache.hadoop", name = 
"hadoop-client-runtime", version.ref = "hadoop3"}
+hadoop3-mapreduce-client-core = { group = "org.apache.hadoop", name = 
"hadoop-mapreduce-client-core", version.ref = "hadoop3"}
 hadoop3-minicluster = { group = "org.apache.hadoop", name = 
"hadoop-minicluster", version.ref = "hadoop-minikdc"}
 hadoop3-gcs = { group = "com.google.cloud.bigdataoss", name = "gcs-connector", 
version.ref = "hadoop3-gcs"}
 hadoop3-oss = { group = "org.apache.hadoop", name = "hadoop-aliyun", 
version.ref = "hadoop3-aliyun"}
 hadoop3-abs = { group = "org.apache.hadoop", name = "hadoop-azure", 
version.ref = "hadoop3-abs"}
+hadoop3-shaded-guava = { group = "org.apache.hadoop.thirdparty", name = 
"hadoop-shaded-guava", version.ref = "hadoop3-thirdparty" }
+hadoop3-shaded-protobuf = { group = "org.apache.hadoop.thirdparty", name = 
"hadoop-shaded-protobuf_3_7", version.ref = "hadoop3-thirdparty" }
+re2j = { group = "com.google.re2j", name = "re2j", version.ref = "re2j" }
 htrace-core4 = { group = "org.apache.htrace", name = "htrace-core4", 
version.ref = "htrace-core4" }
 airlift-json = { group = "io.airlift", name = "json", version.ref = 
"airlift-json"}
 airlift-resolver = { group = "io.airlift.resolver", name = "resolver", 
version.ref = "airlift-resolver"}
@@ -232,6 +234,7 @@ caffeine = { group = "com.github.ben-manes.caffeine", name 
= "caffeine", version
 commons-collections4 = { group = "org.apache.commons", name = 
"commons-collections4", version.ref = "commons-collections4" }
 commons-collections3 = { group = "commons-collections", name = 
"commons-collections", version.ref = "commons-collections3" }
 commons-configuration1 = { group = "commons-configuration", name = 
"commons-configuration", version.ref = "commons-configuration1" }
+commons-configuration2 = { group = "org.apache.commons", name = 
"commons-configuration2", version.ref = "commons-configuration2" }
 iceberg-aliyun = { group = "org.apache.iceberg", name = "iceberg-aliyun", 
version.ref = "iceberg" }
 iceberg-aws = { group = "org.apache.iceberg", name = "iceberg-aws", 
version.ref = "iceberg" }
 iceberg-aws-bundle = { group = "org.apache.iceberg", name = 
"iceberg-aws-bundle", version.ref = "iceberg" }
diff --git a/trino-connector/integration-test/build.gradle.kts 
b/trino-connector/integration-test/build.gradle.kts
index bb15ef356e..5110e8e949 100644
--- a/trino-connector/integration-test/build.gradle.kts
+++ b/trino-connector/integration-test/build.gradle.kts
@@ -41,13 +41,19 @@ dependencies {
   testImplementation(libs.bundles.jetty)
   testImplementation(libs.bundles.log4j)
   testImplementation(libs.commons.cli)
-  testImplementation(libs.hadoop2.common) {
+  testImplementation(libs.hadoop3.common) {
     exclude("*")
   }
-  testImplementation(libs.hadoop2.hdfs)
-  testImplementation(libs.hadoop2.mapreduce.client.core) {
+  testImplementation(libs.hadoop3.hdfs)
+  testImplementation(libs.hadoop3.hdfs.client)
+  testImplementation(libs.hadoop3.mapreduce.client.core) {
     exclude("*")
   }
+  // Hadoop 3.x runtime requirements (stripped by exclude("*") above)
+  testImplementation(libs.hadoop3.shaded.guava)
+  testImplementation(libs.hadoop3.shaded.protobuf)
+  testImplementation(libs.commons.configuration2)
+  testImplementation(libs.re2j)
   testImplementation(libs.hive2.common) {
     exclude("org.eclipse.jetty.aggregate", "jetty-all")
     exclude("org.eclipse.jetty.orbit", "javax.servlet")

Reply via email to