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

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


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new 8288762d7ef [fix](jdbc catalog) refresh catalog close jdbcclient 
#28300 (#29022)
8288762d7ef is described below

commit 8288762d7efb60726a5f32261ddbd84a9f869f00
Author: Guangdong Liu <[email protected]>
AuthorDate: Tue Dec 26 12:27:04 2023 +0800

    [fix](jdbc catalog) refresh catalog close jdbcclient #28300 (#29022)
---
 .../src/main/java/org/apache/doris/datasource/CatalogIf.java      | 2 +-
 .../src/main/java/org/apache/doris/datasource/CatalogMgr.java     | 2 +-
 .../main/java/org/apache/doris/datasource/ExternalCatalog.java    | 2 +-
 .../org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java     | 8 ++++++++
 4 files changed, 11 insertions(+), 3 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogIf.java 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogIf.java
index 369fba3624b..4e54ce06798 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogIf.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogIf.java
@@ -84,7 +84,7 @@ public interface CatalogIf<T extends DatabaseIf> {
 
     default void notifyPropertiesUpdated(Map<String, String> updatedProps) {
         if (this instanceof ExternalCatalog) {
-            ((ExternalCatalog) this).setUninitialized(false);
+            ((ExternalCatalog) this).onRefresh(false);
         }
     }
 
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java
index cd098ec73c8..80fbd9f0a28 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java
@@ -150,7 +150,7 @@ public class CatalogMgr implements Writable, 
GsonPostProcessable {
         if (catalog != null) {
             String catalogName = catalog.getName();
             if (!catalogName.equals(InternalCatalog.INTERNAL_CATALOG_NAME)) {
-                ((ExternalCatalog) catalog).setUninitialized(invalidCache);
+                ((ExternalCatalog) catalog).onRefresh(invalidCache);
             }
         }
     }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java
index 1ed6bd027aa..3029f6ca79f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java
@@ -286,7 +286,7 @@ public abstract class ExternalCatalog
         Env.getCurrentEnv().getEditLog().logInitCatalog(initCatalogLog);
     }
 
-    public void setUninitialized(boolean invalidCache) {
+    public void onRefresh(boolean invalidCache) {
         this.objectCreated = false;
         this.initialized = false;
         this.invalidCacheInInit = invalidCache;
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java
 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java
index df1d442b9d6..daeb5feed73 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java
@@ -67,6 +67,14 @@ public class JdbcExternalCatalog extends ExternalCatalog {
         }
     }
 
+    @Override
+    public void onRefresh(boolean invalidCache) {
+        super.onRefresh(invalidCache);
+        if (jdbcClient != null) {
+            jdbcClient.closeClient();
+        }
+    }
+
     @Override
     public void onClose() {
         super.onClose();


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

Reply via email to