Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions authorizations/authorization-chain/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ dependencies {
exclude("javax.servlet", "servlet-api")
exclude("io.netty")
}
testImplementation(libs.hadoop3.hdfs.client)
}

tasks {
Expand Down
1 change: 1 addition & 0 deletions authorizations/authorization-ranger/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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")
}
Expand Down
31 changes: 17 additions & 14 deletions catalogs/catalog-hive/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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("org.apache.commons:commons-configuration2:2.8.0")
implementation(libs.re2j)
implementation(libs.htrace.core4)
implementation(libs.slf4j.api)
implementation(libs.woodstox.core)
Expand Down Expand Up @@ -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("org.apache.commons:commons-configuration2:2.8.0")
testImplementation(libs.re2j)
testImplementation(libs.hadoop3.abs)
testImplementation(libs.hadoop3.gcs)
testImplementation(libs.hive2.common) {
Expand All @@ -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)
}

Expand Down
21 changes: 16 additions & 5 deletions catalogs/catalog-lakehouse-hudi/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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("org.apache.commons:commons-configuration2:2.8.0")
implementation(libs.re2j)
implementation(libs.htrace.core4)
implementation(libs.slf4j.api)
implementation(libs.woodstox.core)
Expand Down Expand Up @@ -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("org.apache.commons:commons-configuration2:2.8.0")
testImplementation(libs.re2j)
testImplementation(libs.htrace.core4)
testImplementation(libs.junit.jupiter.api)
testImplementation(libs.mysql.driver)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -469,6 +469,10 @@ private static void createHudiTables() {
"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();

Expand Down
8 changes: 4 additions & 4 deletions catalogs/catalog-lakehouse-paimon/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ 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("javax.servlet")
Expand All @@ -113,16 +113,16 @@ dependencies {
exclude("org.apache.zookeeper")
exclude("org.mortbay.jetty")
}
implementation(libs.hadoop2.hdfs) {
implementation(libs.hadoop3.hdfs) {
exclude("*")
}
implementation(libs.hadoop2.hdfs.client) {
implementation(libs.hadoop3.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.mapreduce.client.core) {
exclude("*")
}

Expand Down
11 changes: 8 additions & 3 deletions catalogs/hive-metastore-common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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("org.apache.commons:commons-configuration2:2.8.0")
testImplementation(libs.re2j)
testImplementation(libs.hive2.exec) {
artifact {
classifier = "core"
Expand Down
4 changes: 2 additions & 2 deletions catalogs/hive-metastore2-libs/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ 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 = "com.fasterxml.jackson.core")
exclude(group = "com.github.spotbugs")
Expand All @@ -43,7 +43,7 @@ dependencies {
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 = "com.github.spotbugs")
exclude(group = "com.google.code.findbugs")
exclude(group = "com.google.guava")
Expand Down
2 changes: 1 addition & 1 deletion catalogs/hive-metastore3-libs/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ 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 = "com.fasterxml.jackson.core")
exclude(group = "com.github.spotbugs")
Expand Down
1 change: 1 addition & 0 deletions clients/filesystem-hadoop3/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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("*")
Expand Down
12 changes: 9 additions & 3 deletions flink-connector/flink/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -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("org.apache.commons:commons-configuration2:2.8.0")
testImplementation(libs.re2j)
testImplementation(libs.hive2.common) {
exclude("org.eclipse.jetty.aggregate", "jetty-all")
exclude("org.eclipse.jetty.orbit", "javax.servlet")
Expand Down
21 changes: 10 additions & 11 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,11 @@ 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"
hadoop-minikdc = "3.3.6"
htrace-core4 = "4.1.0-incubating"
httpclient = "4.4.1"
httpclient5 = "5.4.4"
Expand Down Expand Up @@ -197,22 +196,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 = "1.1.1" }
hadoop3-shaded-protobuf = { group = "org.apache.hadoop.thirdparty", name = "hadoop-shaded-protobuf_3_7", version = "1.1.1" }
re2j = { group = "com.google.re2j", name = "re2j", version = "1.7" }
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"}
Expand Down
12 changes: 9 additions & 3 deletions trino-connector/integration-test/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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("org.apache.commons:commons-configuration2:2.8.0")
testImplementation(libs.re2j)
testImplementation(libs.hive2.common) {
exclude("org.eclipse.jetty.aggregate", "jetty-all")
exclude("org.eclipse.jetty.orbit", "javax.servlet")
Expand Down
Loading