This is an automated email from the ASF dual-hosted git repository.
chengpan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kyuubi.git
The following commit(s) were added to refs/heads/master by this push:
new a2179cc59 [KYUUBI #6037] Fix the JDBC engine provider name
a2179cc59 is described below
commit a2179cc59952ad2fe3db02513e8b410c9bd26341
Author: silencily <[email protected]>
AuthorDate: Sun Feb 4 10:28:42 2024 +0800
[KYUUBI #6037] Fix the JDBC engine provider name
# :mag: Description
## Issue References ๐
This pull request fixes create Jdbc Engine error:
```
java.lang.IllegalArgumentException: Could not find a JDBC connection
provider with name
'org.apache.kyuubi.engine.jdbc.mysql.MySQLConnectionProvider' that can handle
the specified driver and options. Available providers are
[org.apache.kyuubi.engine.jdbc.doris.DorisConnectionProvider57459491,
org.apache.kyuubi.engine.jdbc.mysql.MySQLConnectionProviderdcfda20,
org.apache.kyuubi.engine.jdbc.phoenix.PhoenixConnectionProvider5c87bfe2,
org.apache.kyuubi.engine.jdbc.postgresql.PostgreSQLCo [...]
```
## Describe Your Solution ๐ง
```
val ENGINE_JDBC_CONNECTION_PROVIDER: OptionalConfigEntry[String] =
buildConf("kyuubi.engine.jdbc.connection.provider")
.doc("A JDBC connection provider plugin for the Kyuubi Server " +
"to establish a connection to the JDBC URL." +
" The configuration value should be a subclass of " +
"`org.apache.kyuubi.engine.jdbc.connection.JdbcConnectionProvider`.
" +
"Kyuubi provides the following built-in implementations: " +
"<li>doris: For establishing Doris connections.</li> " +
"<li>mysql: For establishing MySQL connections.</li> " +
"<li>phoenix: For establishing Phoenix connections.</li> " +
"<li>postgresql: For establishing PostgreSQL connections.</li>" +
"<li>starrocks: For establishing StarRocks connections.</li>")
.version("1.6.0")
.stringConf
.transform {
case "Doris" | "doris" | "DorisConnectionProvider" =>
"org.apache.kyuubi.engine.jdbc.doris.DorisConnectionProvider"
case "MySQL" | "mysql" | "MySQLConnectionProvider" =>
"org.apache.kyuubi.engine.jdbc.mysql.MySQLConnectionProvider"
case "Phoenix" | "phoenix" | "PhoenixConnectionProvider" =>
"org.apache.kyuubi.engine.jdbc.phoenix.PhoenixConnectionProvider"
case "PostgreSQL" | "postgresql" | "PostgreSQLConnectionProvider" =>
"org.apache.kyuubi.engine.jdbc.postgresql.PostgreSQLConnectionProvider"
case "StarRocks" | "starrocks" | "StarRocksConnectionProvider" =>
"org.apache.kyuubi.engine.jdbc.starrocks.StarRocksConnectionProvider"
case other => other
}
.createOptional
```
because the provider name transforms the fully qualified class name, but
class simple name is compared
## Types of changes :bookmark:
- [x] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
## Test Plan ๐งช
#### Behavior Without This Pull Request :coffin:
#### Behavior With This Pull Request :tada:
I have passed this pull request at local integration testing
#### Related Unit Tests
---
# Checklist ๐
- [ ] This patch was not authored or co-authored using [Generative
Tooling](https://www.apache.org/legal/generative-tooling.html)
**Be nice. Be informative.**
Closes #6037 from silencily/bugfix-jdbc-provider.
Closes #6037
35b3dc7f3 [silencily] fix create Jdbc Engine error
Authored-by: silencily <[email protected]>
Signed-off-by: Cheng Pan <[email protected]>
---
.../apache/kyuubi/engine/jdbc/connection/JdbcConnectionProvider.scala | 2 +-
.../org/apache/kyuubi/engine/jdbc/doris/DorisConnectionProvider.scala | 2 +-
.../org/apache/kyuubi/engine/jdbc/mysql/MySQL8ConnectionProvider.scala | 2 +-
.../org/apache/kyuubi/engine/jdbc/mysql/MySQLConnectionProvider.scala | 2 +-
.../apache/kyuubi/engine/jdbc/phoenix/PhoenixConnectionProvider.scala | 2 +-
.../kyuubi/engine/jdbc/postgresql/PostgreSQLConnectionProvider.scala | 2 +-
.../kyuubi/engine/jdbc/starrocks/StarRocksConnectionProvider.scala | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/connection/JdbcConnectionProvider.scala
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/connection/JdbcConnectionProvider.scala
index d6b2170be..d6ff316ab 100644
---
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/connection/JdbcConnectionProvider.scala
+++
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/connection/JdbcConnectionProvider.scala
@@ -26,7 +26,7 @@ import org.apache.kyuubi.engine.jdbc.util.SupportServiceLoader
abstract class JdbcConnectionProvider extends SupportServiceLoader with
Logging {
- override def name(): String = classOf[JdbcConnectionProvider].getSimpleName
+ override def name(): String = classOf[JdbcConnectionProvider].getName
val driverClass: String
diff --git
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/doris/DorisConnectionProvider.scala
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/doris/DorisConnectionProvider.scala
index c38bf7845..807eb6d8b 100644
---
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/doris/DorisConnectionProvider.scala
+++
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/doris/DorisConnectionProvider.scala
@@ -20,5 +20,5 @@ import
org.apache.kyuubi.engine.jdbc.mysql.MySQL8ConnectionProvider
class DorisConnectionProvider extends MySQL8ConnectionProvider {
- override val name: String = classOf[DorisConnectionProvider].getSimpleName
+ override val name: String = classOf[DorisConnectionProvider].getName
}
diff --git
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/mysql/MySQL8ConnectionProvider.scala
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/mysql/MySQL8ConnectionProvider.scala
index 563d5758b..f96dff107 100644
---
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/mysql/MySQL8ConnectionProvider.scala
+++
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/mysql/MySQL8ConnectionProvider.scala
@@ -20,7 +20,7 @@ import
org.apache.kyuubi.engine.jdbc.connection.JdbcConnectionProvider
class MySQL8ConnectionProvider extends JdbcConnectionProvider {
- override val name: String = classOf[MySQL8ConnectionProvider].getSimpleName
+ override val name: String = classOf[MySQL8ConnectionProvider].getName
override val driverClass: String = MySQL8ConnectionProvider.driverClass
diff --git
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/mysql/MySQLConnectionProvider.scala
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/mysql/MySQLConnectionProvider.scala
index bd57d1f53..921f7b62d 100644
---
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/mysql/MySQLConnectionProvider.scala
+++
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/mysql/MySQLConnectionProvider.scala
@@ -18,5 +18,5 @@ package org.apache.kyuubi.engine.jdbc.mysql
class MySQLConnectionProvider extends MySQL8ConnectionProvider {
- override val name: String = classOf[MySQLConnectionProvider].getSimpleName
+ override val name: String = classOf[MySQLConnectionProvider].getName
}
diff --git
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/phoenix/PhoenixConnectionProvider.scala
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/phoenix/PhoenixConnectionProvider.scala
index 444e83d06..95c6f1c00 100644
---
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/phoenix/PhoenixConnectionProvider.scala
+++
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/phoenix/PhoenixConnectionProvider.scala
@@ -20,7 +20,7 @@ import
org.apache.kyuubi.engine.jdbc.connection.JdbcConnectionProvider
class PhoenixConnectionProvider extends JdbcConnectionProvider {
- override val name: String = classOf[PhoenixConnectionProvider].getSimpleName
+ override val name: String = classOf[PhoenixConnectionProvider].getName
override val driverClass: String =
"org.apache.phoenix.queryserver.client.Driver"
diff --git
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/postgresql/PostgreSQLConnectionProvider.scala
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/postgresql/PostgreSQLConnectionProvider.scala
index 3fb392795..a11e57768 100644
---
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/postgresql/PostgreSQLConnectionProvider.scala
+++
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/postgresql/PostgreSQLConnectionProvider.scala
@@ -20,7 +20,7 @@ import
org.apache.kyuubi.engine.jdbc.connection.JdbcConnectionProvider
class PostgreSQLConnectionProvider extends JdbcConnectionProvider {
- override val name: String =
classOf[PostgreSQLConnectionProvider].getSimpleName
+ override val name: String = classOf[PostgreSQLConnectionProvider].getName
override val driverClass: String = "org.postgresql.Driver"
diff --git
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/starrocks/StarRocksConnectionProvider.scala
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/starrocks/StarRocksConnectionProvider.scala
index 09b7efb3f..2712d3a15 100644
---
a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/starrocks/StarRocksConnectionProvider.scala
+++
b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/starrocks/StarRocksConnectionProvider.scala
@@ -20,5 +20,5 @@ import
org.apache.kyuubi.engine.jdbc.mysql.MySQL8ConnectionProvider
class StarRocksConnectionProvider extends MySQL8ConnectionProvider {
- override val name: String =
classOf[StarRocksConnectionProvider].getSimpleName
+ override val name: String = classOf[StarRocksConnectionProvider].getName
}