diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index f8febf9ed..aeb0a14bb 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -50,6 +50,7 @@ jobs: - '3.1' - '3.2' - '3.3' + - '3.4' spark-archive: [""] exclude-tags: [""] comment: ["normal"] @@ -64,6 +65,11 @@ jobs: spark-archive: '-Dspark.archive.mirror=https://archive.apache.org/dist/spark/spark-3.2.4 -Dspark.archive.name=spark-3.2.4-bin-hadoop3.2.tgz' exclude-tags: '-Dmaven.plugin.scalatest.exclude.tags=org.scalatest.tags.Slow,org.apache.kyuubi.tags.DeltaTest,org.apache.kyuubi.tags.IcebergTest' comment: 'verify-on-spark-3.2-binary' + - java: 8 + spark: '3.3' + spark-archive: '-Dspark.archive.mirror=https://archive.apache.org/dist/spark/spark-3.4.0 -Dspark.archive.name=spark-3.4.0-bin-hadoop3.tgz' + exclude-tags: '-Dmaven.plugin.scalatest.exclude.tags=org.scalatest.tags.Slow,org.apache.kyuubi.tags.DeltaTest,org.apache.kyuubi.tags.IcebergTest' + comment: 'verify-on-spark-3.4-binary' env: SPARK_LOCAL_IP: localhost steps: @@ -88,6 +94,12 @@ jobs: - name: Build and test Kyuubi and Spark with maven w/o linters run: | TEST_MODULES="dev/kyuubi-codecov" + if [[ "${{ matrix.spark }}" == "3.4" ]]; then + # FIXME: Spark 3.4 supports authz plugin + TEST_MODULES="$TEST_MODULES,!extensions/spark/kyuubi-spark-authz" + # FIXME: Spark 3.4 supports lineage plugin + TEST_MODULES="$TEST_MODULES,!extensions/spark/kyuubi-spark-lineage" + fi ./build/mvn clean install ${MVN_OPT} -pl ${TEST_MODULES} -am \ -Pspark-${{ matrix.spark }} ${{ matrix.spark-archive }} ${{ matrix.exclude-tags }} - name: Code coverage diff --git a/extensions/spark/kyuubi-extension-spark-3-1/pom.xml b/extensions/spark/kyuubi-extension-spark-3-1/pom.xml index 9f218f9d0..a36dffaef 100644 --- a/extensions/spark/kyuubi-extension-spark-3-1/pom.xml +++ b/extensions/spark/kyuubi-extension-spark-3-1/pom.xml @@ -125,10 +125,21 @@ jakarta.xml.bind-api test + + + org.apache.logging.log4j + log4j-1.2-api + test + + + + org.apache.logging.log4j + log4j-slf4j-impl + test + - org.apache.maven.plugins diff --git a/extensions/spark/kyuubi-extension-spark-3-2/pom.xml b/extensions/spark/kyuubi-extension-spark-3-2/pom.xml index a80040aca..3f8019fa9 100644 --- a/extensions/spark/kyuubi-extension-spark-3-2/pom.xml +++ b/extensions/spark/kyuubi-extension-spark-3-2/pom.xml @@ -125,10 +125,21 @@ jakarta.xml.bind-api test + + + org.apache.logging.log4j + log4j-1.2-api + test + + + + org.apache.logging.log4j + log4j-slf4j-impl + test + - org.apache.maven.plugins diff --git a/extensions/spark/kyuubi-extension-spark-common/pom.xml b/extensions/spark/kyuubi-extension-spark-common/pom.xml index 6d4bd1443..e11600408 100644 --- a/extensions/spark/kyuubi-extension-spark-common/pom.xml +++ b/extensions/spark/kyuubi-extension-spark-common/pom.xml @@ -110,10 +110,21 @@ jakarta.xml.bind-api test + + + org.apache.logging.log4j + log4j-1.2-api + test + + + + org.apache.logging.log4j + log4j-slf4j-impl + test + - org.antlr diff --git a/extensions/spark/kyuubi-spark-authz/README.md b/extensions/spark/kyuubi-spark-authz/README.md index eb3804a65..617a40a16 100644 --- a/extensions/spark/kyuubi-spark-authz/README.md +++ b/extensions/spark/kyuubi-spark-authz/README.md @@ -34,6 +34,7 @@ build/mvn clean package -pl :kyuubi-spark-authz_2.12 -Dspark.version=3.2.1 -Dran `-Dspark.version=` - [x] master +- [ ] 3.4.x - [x] 3.3.x (default) - [x] 3.2.x - [x] 3.1.x diff --git a/extensions/spark/kyuubi-spark-connector-common/pom.xml b/extensions/spark/kyuubi-spark-connector-common/pom.xml index 1cba0ccdd..e36361753 100644 --- a/extensions/spark/kyuubi-spark-connector-common/pom.xml +++ b/extensions/spark/kyuubi-spark-connector-common/pom.xml @@ -87,10 +87,21 @@ scalacheck-1-17_${scala.binary.version} test + + + org.apache.logging.log4j + log4j-1.2-api + test + + + + org.apache.logging.log4j + log4j-slf4j-impl + test + - org.apache.maven.plugins diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/test/scala/org/apache/kyuubi/spark/connector/tpcds/TPCDSCatalogSuite.scala b/extensions/spark/kyuubi-spark-connector-tpcds/src/test/scala/org/apache/kyuubi/spark/connector/tpcds/TPCDSCatalogSuite.scala index 8a37d95e8..55a7fa3e9 100644 --- a/extensions/spark/kyuubi-spark-connector-tpcds/src/test/scala/org/apache/kyuubi/spark/connector/tpcds/TPCDSCatalogSuite.scala +++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/test/scala/org/apache/kyuubi/spark/connector/tpcds/TPCDSCatalogSuite.scala @@ -170,7 +170,8 @@ class TPCDSCatalogSuite extends KyuubiFunSuite { val exception = intercept[AnalysisException] { spark.table("tpcds.sf1.nonexistent_table") } - assert(exception.message === "Table or view not found: tpcds.sf1.nonexistent_table") + assert(exception.message.contains("Table or view not found") + || exception.message.contains("TABLE_OR_VIEW_NOT_FOUND")) } } } diff --git a/extensions/spark/kyuubi-spark-connector-tpch/src/test/scala/org/apache/kyuubi/spark/connector/tpch/TPCHCatalogSuite.scala b/extensions/spark/kyuubi-spark-connector-tpch/src/test/scala/org/apache/kyuubi/spark/connector/tpch/TPCHCatalogSuite.scala index ee817ecae..0fdfc2689 100644 --- a/extensions/spark/kyuubi-spark-connector-tpch/src/test/scala/org/apache/kyuubi/spark/connector/tpch/TPCHCatalogSuite.scala +++ b/extensions/spark/kyuubi-spark-connector-tpch/src/test/scala/org/apache/kyuubi/spark/connector/tpch/TPCHCatalogSuite.scala @@ -158,7 +158,8 @@ class TPCHCatalogSuite extends KyuubiFunSuite { val exception = intercept[AnalysisException] { spark.table("tpch.sf1.nonexistent_table") } - assert(exception.message === "Table or view not found: tpch.sf1.nonexistent_table") + assert(exception.message.contains("Table or view not found") + || exception.message.contains("TABLE_OR_VIEW_NOT_FOUND")) } } } diff --git a/extensions/spark/kyuubi-spark-lineage/README.md b/extensions/spark/kyuubi-spark-lineage/README.md index 5365f2d77..a713221ac 100644 --- a/extensions/spark/kyuubi-spark-lineage/README.md +++ b/extensions/spark/kyuubi-spark-lineage/README.md @@ -34,6 +34,7 @@ build/mvn clean package -pl :kyuubi-spark-lineage_2.12 -am -Dspark.version=3.2.1 `-Dspark.version=` - [x] master +- [ ] 3.4.x - [x] 3.3.x (default) - [x] 3.2.x - [x] 3.1.x diff --git a/extensions/spark/kyuubi-spark-lineage/pom.xml b/extensions/spark/kyuubi-spark-lineage/pom.xml index bc13480d7..8583dfec0 100644 --- a/extensions/spark/kyuubi-spark-lineage/pom.xml +++ b/extensions/spark/kyuubi-spark-lineage/pom.xml @@ -85,10 +85,14 @@ test + + com.google.guava + guava + test + - ${project.basedir}/src/test/resources diff --git a/pom.xml b/pom.xml index a6e5d2df5..ae6dc2e29 100644 --- a/pom.xml +++ b/pom.xml @@ -196,6 +196,8 @@ 2.2.1 4.9.1 0.40.12 + + 1.7.0 0.9.3 363 1.4 @@ -403,19 +405,15 @@ org.apache.spark - spark-repl_${scala.binary.version} + spark-core_${scala.binary.version} ${spark.version} - + org.apache.hadoop hadoop-client - + log4j log4j @@ -424,33 +422,24 @@ org.slf4j slf4j-log4j12 + + + org.apache.logging.log4j + log4j-slf4j2-impl + + + org.apache.spark + spark-repl_${scala.binary.version} + ${spark.version} + + org.apache.spark spark-sql_${scala.binary.version} ${spark.version} - - - - org.apache.hadoop - hadoop-client - - - - log4j - log4j - - - org.slf4j - slf4j-log4j12 - - @@ -458,28 +447,11 @@ spark-hive_${scala.binary.version} ${spark.version} - - - org.apache.hadoop - hadoop-client - + org.apache.hadoop hadoop-common - - - log4j - log4j - - - org.slf4j - slf4j-log4j12 - @@ -489,17 +461,25 @@ ${spark.version} test-jar - + org.apache.hadoop hadoop-client - + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + org.apache.logging.log4j + log4j-slf4j2-impl + @@ -508,19 +488,6 @@ spark-catalyst_${scala.binary.version} ${spark.version} test-jar - - - - org.apache.hadoop - hadoop-client - - - @@ -528,19 +495,6 @@ spark-sql_${scala.binary.version} ${spark.version} test-jar - - - - org.apache.hadoop - hadoop-client - - - @@ -1524,6 +1478,12 @@ service ${openai.java.version} + + + org.threeten + threeten-extra + ${threeten.version} + @@ -2210,23 +2170,26 @@ + + spark-3.4 + + extensions/spark/kyuubi-spark-connector-hive + extensions/spark/kyuubi-spark-connector-kudu + + + 3.4.0 + + 3.3 + org.scalatest.tags.Slow,org.apache.kyuubi.tags.DeltaTest,org.apache.kyuubi.tags.HudiTest,org.apache.kyuubi.tags.IcebergTest + + + spark-master 3.5.0-SNAPSHOT - - 1.7.0 org.scalatest.tags.Slow,org.apache.kyuubi.tags.DeltaTest,org.apache.kyuubi.tags.IcebergTest,org.apache.kyuubi.tags.PySparkTest - - - - org.threeten - threeten-extra - ${threeten.version} - - -