Skip to content

Commit ebd1e15

Browse files
[#7322] fix (trino-connector) : Fix an exception thrown when the metalake contains unsupported catalog provider (#7565)
### 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 Co-authored-by: Yuhui <[email protected]>
1 parent 5d48811 commit ebd1e15

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/CatalogConnectorFactory.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919
package org.apache.gravitino.trino.connector.catalog;
2020

21+
import java.util.Set;
2122
import org.apache.gravitino.trino.connector.metadata.GravitinoCatalog;
2223

2324
/**
@@ -31,4 +32,11 @@ public interface CatalogConnectorFactory {
3132
* @return CatalogConnectorContext builder
3233
*/
3334
CatalogConnectorContext.Builder createCatalogConnectorContextBuilder(GravitinoCatalog catalog);
35+
36+
/**
37+
* Get supported catalog providers
38+
*
39+
* @return catalog providers
40+
*/
41+
Set<String> getSupportedCatalogProviders();
3442
}

trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/CatalogConnectorManager.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,10 @@ private void loadCatalogs(GravitinoMetalake metalake) {
207207
// Reload catalogs that have been updated in Gravitino server.
208208
reloadCatalog(gravitinoCatalog);
209209
} else {
210-
if (catalog.type() == Catalog.Type.RELATIONAL) {
210+
if (catalog.type() == Catalog.Type.RELATIONAL
211+
&& catalogConnectorFactory
212+
.getSupportedCatalogProviders()
213+
.contains(gravitinoCatalog.getProvider())) {
211214
loadCatalog(gravitinoCatalog);
212215
}
213216
}

trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/DefaultCatalogConnectorFactory.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import io.trino.spi.TrinoException;
2222
import java.util.HashMap;
23+
import java.util.Set;
2324
import org.apache.gravitino.trino.connector.GravitinoConfig;
2425
import org.apache.gravitino.trino.connector.GravitinoErrorCode;
2526
import org.apache.gravitino.trino.connector.catalog.hive.HiveConnectorAdapter;
@@ -71,6 +72,21 @@ public DefaultCatalogConnectorFactory(GravitinoConfig config) {
7172
LOG.info("Start the DefaultCatalogConnectorFactory");
7273
}
7374

75+
/**
76+
* Get supported catalog providers
77+
*
78+
* @return catalog providers
79+
*/
80+
public Set<String> getSupportedCatalogProviders() {
81+
return catalogBuilders.keySet();
82+
}
83+
84+
/**
85+
* Creates a new catalog connector context builder for the specified Gravitino catalog.
86+
*
87+
* @param catalog the Gravitino catalog for which to create the connector context
88+
* @return a new catalog connector context builder
89+
*/
7490
public CatalogConnectorContext.Builder createCatalogConnectorContextBuilder(
7591
GravitinoCatalog catalog) {
7692
String catalogProvider = catalog.getProvider();

0 commit comments

Comments
 (0)