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

yuqi4733 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new e022c38d1d [#7322] fix (trino-connector) : Fix an exception thrown 
when the metalake  contains unsupported catalog provider (#7563)
e022c38d1d is described below

commit e022c38d1d71d40dadab443e907bf871afe9ebde
Author: Yuhui <[email protected]>
AuthorDate: Thu Jul 3 21:28:33 2025 +0800

    [#7322] fix (trino-connector) : Fix an exception thrown when the metalake  
contains unsupported catalog provider (#7563)
    
    ### What changes were proposed in this pull request?
    
    Fix an exception thrown when the metalake contains unsupported catalog
    provider
    
    ### Why are the changes needed?
    
    Fix: #7322
    
    ### Does this PR introduce _any_ user-facing change?
    
    No
    
    ### How was this patch tested?
    
    ITs
---
 .../trino/connector/catalog/CatalogConnectorFactory.java       |  8 ++++++++
 .../trino/connector/catalog/CatalogConnectorManager.java       |  5 ++++-
 .../connector/catalog/DefaultCatalogConnectorFactory.java      | 10 ++++++++++
 3 files changed, 22 insertions(+), 1 deletion(-)

diff --git 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/CatalogConnectorFactory.java
 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/CatalogConnectorFactory.java
index e297c22656..a8796b0b99 100644
--- 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/CatalogConnectorFactory.java
+++ 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/CatalogConnectorFactory.java
@@ -18,6 +18,7 @@
  */
 package org.apache.gravitino.trino.connector.catalog;
 
+import java.util.Set;
 import org.apache.gravitino.trino.connector.metadata.GravitinoCatalog;
 
 /**
@@ -31,4 +32,11 @@ public interface CatalogConnectorFactory {
    * @return CatalogConnectorContext builder
    */
   CatalogConnectorContext.Builder 
createCatalogConnectorContextBuilder(GravitinoCatalog catalog);
+
+  /**
+   * Get supported catalog providers
+   *
+   * @return catalog providers
+   */
+  Set<String> getSupportedCatalogProviders();
 }
diff --git 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/CatalogConnectorManager.java
 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/CatalogConnectorManager.java
index 3a30342454..9ecf5920ac 100644
--- 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/CatalogConnectorManager.java
+++ 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/CatalogConnectorManager.java
@@ -233,7 +233,10 @@ public class CatalogConnectorManager {
                   // Reload catalogs that have been updated in Gravitino 
server.
                   reloadCatalog(gravitinoCatalog);
                 } else {
-                  if (catalog.type() == Catalog.Type.RELATIONAL) {
+                  if (catalog.type() == Catalog.Type.RELATIONAL
+                      && catalogConnectorFactory
+                          .getSupportedCatalogProviders()
+                          .contains(gravitinoCatalog.getProvider())) {
                     loadCatalog(gravitinoCatalog);
                   }
                 }
diff --git 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/DefaultCatalogConnectorFactory.java
 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/DefaultCatalogConnectorFactory.java
index 2eb62ea515..768da6785d 100644
--- 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/DefaultCatalogConnectorFactory.java
+++ 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/DefaultCatalogConnectorFactory.java
@@ -20,6 +20,7 @@ package org.apache.gravitino.trino.connector.catalog;
 
 import io.trino.spi.TrinoException;
 import java.util.HashMap;
+import java.util.Set;
 import org.apache.gravitino.trino.connector.GravitinoConfig;
 import org.apache.gravitino.trino.connector.GravitinoErrorCode;
 import org.apache.gravitino.trino.connector.catalog.hive.HiveConnectorAdapter;
@@ -79,6 +80,15 @@ public class DefaultCatalogConnectorFactory implements 
CatalogConnectorFactory {
     LOG.info("Start the DefaultCatalogConnectorFactory");
   }
 
+  /**
+   * Get supported catalog providers
+   *
+   * @return catalog providers
+   */
+  public Set<String> getSupportedCatalogProviders() {
+    return catalogBuilders.keySet();
+  }
+
   /**
    * Creates a new catalog connector context builder for the specified 
Gravitino catalog.
    *

Reply via email to