This is an automated email from the ASF dual-hosted git repository.

zykkk pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new fcbdd77f781 [fix](jdbc catalog) Fix ClassLoader Scope in JdbcExecutor 
Initialization (#34620)
fcbdd77f781 is described below

commit fcbdd77f781f0ec27776dd8ea3dabd052577c485
Author: zy-kkk <[email protected]>
AuthorDate: Fri May 10 11:24:39 2024 +0800

    [fix](jdbc catalog) Fix ClassLoader Scope in JdbcExecutor Initialization 
(#34620)
---
 .../src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java           | 2 +-
 .../src/main/java/org/apache/doris/jdbc/DefaultJdbcExecutor.java        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java
 
b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java
index 6ff9f6ec699..7474824446c 100644
--- 
a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java
+++ 
b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java
@@ -308,13 +308,13 @@ public abstract class BaseJdbcExecutor implements 
JdbcExecutor {
         try {
             ClassLoader parent = getClass().getClassLoader();
             ClassLoader classLoader = 
UdfUtils.getClassLoader(config.getJdbcDriverUrl(), parent);
+            Thread.currentThread().setContextClassLoader(classLoader);
             hikariDataSource = 
JdbcDataSource.getDataSource().getSource(hikariDataSourceKey);
             if (hikariDataSource == null) {
                 synchronized (hikariDataSourceLock) {
                     hikariDataSource = 
JdbcDataSource.getDataSource().getSource(hikariDataSourceKey);
                     if (hikariDataSource == null) {
                         long start = System.currentTimeMillis();
-                        
Thread.currentThread().setContextClassLoader(classLoader);
                         HikariDataSource ds = new HikariDataSource();
                         ds.setDriverClassName(config.getJdbcDriverClass());
                         ds.setJdbcUrl(config.getJdbcUrl());
diff --git 
a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/DefaultJdbcExecutor.java
 
b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/DefaultJdbcExecutor.java
index 9faaadad157..7d464e2369a 100644
--- 
a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/DefaultJdbcExecutor.java
+++ 
b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/DefaultJdbcExecutor.java
@@ -352,13 +352,13 @@ public class DefaultJdbcExecutor {
             } else {
                 ClassLoader parent = getClass().getClassLoader();
                 ClassLoader classLoader = 
UdfUtils.getClassLoader(config.getJdbcDriverUrl(), parent);
+                Thread.currentThread().setContextClassLoader(classLoader);
                 hikariDataSource = 
JdbcDataSource.getDataSource().getSource(hikariDataSourceKey);
                 if (hikariDataSource == null) {
                     synchronized (hikariDataSourceLock) {
                         hikariDataSource = 
JdbcDataSource.getDataSource().getSource(hikariDataSourceKey);
                         if (hikariDataSource == null) {
                             long start = System.currentTimeMillis();
-                            
Thread.currentThread().setContextClassLoader(classLoader);
                             HikariDataSource ds = new HikariDataSource();
                             ds.setDriverClassName(config.getJdbcDriverClass());
                             ds.setJdbcUrl(config.getJdbcUrl());


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to