This is an automated email from the ASF dual-hosted git repository.
dongjoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push:
new 89e2a47d40f5 [SPARK-55574][SQL][TESTS] Upgrade `MariaDB` JDBC driver
to `3.5.7` and revise test suites
89e2a47d40f5 is described below
commit 89e2a47d40f5086ecb71ddbea3f1518959da6f5d
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Tue Feb 17 20:47:06 2026 -0800
[SPARK-55574][SQL][TESTS] Upgrade `MariaDB` JDBC driver to `3.5.7` and
revise test suites
### What changes were proposed in this pull request?
This PR aims to upgrade `MariaDB` JDBC driver to `3.5.7` from `2.7.12` for
Apache Spark 4.2.0.
### Why are the changes needed?
To maintain the JDBC test coverage up-to-date with the latest `MariaDB`
JDBC driver.
- https://mariadb.com/docs/release-notes/connectors/java/3.5/3.5.7
(2025-12-07)
- https://mariadb.com/docs/release-notes/connectors/java/3.4/3.4.2
(2025-03-27)
- https://mariadb.com/docs/release-notes/connectors/java/3.3/3.3.4
(2025-03-27)
- https://mariadb.com/docs/release-notes/connectors/java/3.2/3.2.0
(2023-08-20)
- https://mariadb.com/docs/release-notes/connectors/java/3.1/3.1.4
(2023-05-01)
- https://mariadb.com/docs/release-notes/connectors/java/3.0/3.0.11
(2023-08-25)
Note that
- `MariaDB JDBC Client v3` was released 5 years ago (May 2021) and fixed
the old issue which cause a conflict with `MySQL JDBC Driver`.
- In other words, `v3` client only accepts `jdbc:mariadb`. We need to have
a test coverage for `v3`.
- Also, there is a legacy configuration, `permitMysqlScheme`, to preserve
the old behavior. We use this to minimize the size of this PR. We can remove
this `permitMysqlScheme` later.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Pass the CIs.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: `Gemini 3 Pro (High)` on `Antigravity`
Closes #54348 from dongjoon-hyun/SPARK-55574.
Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
---
.../scala/org/apache/spark/sql/jdbc/MariaDBKrbIntegrationSuite.scala | 2 +-
.../test/scala/org/apache/spark/sql/jdbc/MySQLIntegrationSuite.scala | 4 ++--
.../scala/org/apache/spark/sql/jdbc/v2/MySQLIntegrationSuite.scala | 2 +-
pom.xml | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git
a/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/MariaDBKrbIntegrationSuite.scala
b/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/MariaDBKrbIntegrationSuite.scala
index 4f782bed7792..eaf9caacc8db 100644
---
a/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/MariaDBKrbIntegrationSuite.scala
+++
b/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/MariaDBKrbIntegrationSuite.scala
@@ -40,7 +40,7 @@ class MariaDBKrbIntegrationSuite extends
DockerKrbJDBCIntegrationSuite {
override val db = new MariaDBDatabaseOnDocker() {
override def getJdbcUrl(ip: String, port: Int): String =
- s"jdbc:mysql://$ip:$port/mysql?user=$principal"
+ s"jdbc:mysql://$ip:$port/mysql?user=$principal&permitMysqlScheme"
override def beforeContainerStart(
hostConfigBuilder: HostConfig,
diff --git
a/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/MySQLIntegrationSuite.scala
b/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/MySQLIntegrationSuite.scala
index c4144f2d2184..be17abbb9bff 100644
---
a/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/MySQLIntegrationSuite.scala
+++
b/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/MySQLIntegrationSuite.scala
@@ -377,12 +377,12 @@ class MySQLOverMariaConnectorIntegrationSuite extends
MySQLIntegrationSuite {
override val db = new MySQLDatabaseOnDocker {
override def getJdbcUrl(ip: String, port: Int): String =
s"jdbc:mysql://$ip:$port/mysql?user=root&password=rootpass&allowPublicKeyRetrieval=true"
+
- s"&useSSL=false"
+ s"&useSSL=false&permitMysqlScheme"
}
override def testConnection(): Unit = {
Using.resource(getConnection()) { conn =>
- assert(conn.getClass.getName === "org.mariadb.jdbc.MariaDbConnection")
+ assert(conn.getClass.getName === "org.mariadb.jdbc.Connection")
}
}
}
diff --git
a/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/MySQLIntegrationSuite.scala
b/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/MySQLIntegrationSuite.scala
index 6efe207b0ae1..c2714587e2d2 100644
---
a/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/MySQLIntegrationSuite.scala
+++
b/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/MySQLIntegrationSuite.scala
@@ -341,6 +341,6 @@ class MySQLOverMariaConnectorIntegrationSuite extends
MySQLIntegrationSuite {
override val db = new MySQLDatabaseOnDocker {
override def getJdbcUrl(ip: String, port: Int): String =
s"jdbc:mysql://$ip:$port/mysql?user=root&password=rootpass&allowPublicKeyRetrieval=true"
+
- s"&useSSL=false"
+ s"&useSSL=false&permitMysqlScheme"
}
}
diff --git a/pom.xml b/pom.xml
index db8ad155c212..5371c26b05ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -337,7 +337,7 @@
-Dio.netty.handler.ssl.defaultEndpointVerificationAlgorithm=NONE
--enable-native-access=ALL-UNNAMED
</extraJavaTestArgs>
- <mariadb.java.client.version>2.7.12</mariadb.java.client.version>
+ <mariadb.java.client.version>3.5.7</mariadb.java.client.version>
<mysql.connector.version>9.2.0</mysql.connector.version>
<postgresql.version>42.7.7</postgresql.version>
<db2.jcc.version>11.5.9.0</db2.jcc.version>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]