[bugfix](jdbc catalog) refresh catalog close jdbcclient (#28300)

This commit is contained in:
Guangdong Liu
2023-12-16 23:38:24 +08:00
committed by GitHub
parent 61ad3b8dc4
commit 2f775260d7
4 changed files with 11 additions and 3 deletions

View File

@ -85,7 +85,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);
}
}

View File

@ -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);
}
}
}

View File

@ -287,7 +287,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;

View File

@ -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();