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]

Reply via email to