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

morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 4375f86912ee38eb2c5a8ec9b7a874843affb118
Author: yuxuan-luo <119841515+yuxuan-...@users.noreply.github.com>
AuthorDate: Wed Mar 15 09:56:24 2023 +0800

    [Bug](catalog) Fix fetching information_schema table timed out(#17692) 
(#17694)
    
    Co-authored-by: hugoluo <hugo...@tencent.com>
---
 .../main/java/org/apache/doris/datasource/CatalogIf.java   |  2 ++
 .../java/org/apache/doris/datasource/ExternalCatalog.java  | 14 ++++++++++++++
 2 files changed, 16 insertions(+)

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 40e63e4526..3c751f23db 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
@@ -49,6 +49,8 @@ public interface CatalogIf<T extends DatabaseIf> {
 
     List<String> getDbNames();
 
+    // Will be used when querying the information_schema table
+    // Unable to get db for uninitialized catalog to avoid query timeout
     default List<String> getDbNamesOrEmpty() {
         try {
             return getDbNames();
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 68a3a013fa..e33c8fa58e 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
@@ -206,6 +206,20 @@ public abstract class ExternalCatalog implements 
CatalogIf<ExternalDatabase>, Wr
         return listDatabaseNames(null);
     }
 
+    @Override
+    public List<String> getDbNamesOrEmpty() {
+        if (initialized) {
+            try {
+                return getDbNames();
+            } catch (Exception e) {
+                LOG.warn("failed to get db names in catalog {}", getName(), e);
+                return Lists.newArrayList();
+            }
+        } else {
+            return Lists.newArrayList();
+        }
+    }
+
     @Override
     public String getResource() {
         return catalogProperty.getResource();


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to