From b380b8b0b5256c0687788aef74937c4e814d75d9 Mon Sep 17 00:00:00 2001 From: Guangdong Liu Date: Sat, 7 Oct 2023 20:21:33 +0800 Subject: [PATCH] [bugfix](multi-catalog) Esexternalcatalog is missing LastUpdateTime. (#24559) --- .../apache/doris/datasource/CatalogMgr.java | 2 +- .../doris/datasource/EsExternalCatalog.java | 28 ++++--------------- .../doris/datasource/ExternalCatalog.java | 3 +- 3 files changed, 7 insertions(+), 26 deletions(-) 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 f6777b809f..b11cafd8bd 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 @@ -390,7 +390,7 @@ public class CatalogMgr implements Writable, GsonPostProcessable { row.add(String.valueOf(catalog.getId())); row.add(name); row.add(catalog.getType()); - if (currentCtlg != null && name.equals(currentCtlg)) { + if (name.equals(currentCtlg)) { row.add(YES); } else { row.add(""); diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java index 88d4215677..0ced7c1a6b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java @@ -17,11 +17,8 @@ package org.apache.doris.datasource; -import org.apache.doris.catalog.Env; import org.apache.doris.catalog.EsResource; import org.apache.doris.catalog.external.EsExternalDatabase; -import org.apache.doris.catalog.external.ExternalDatabase; -import org.apache.doris.catalog.external.ExternalTable; import org.apache.doris.common.DdlException; import org.apache.doris.external.elasticsearch.DorisEsException; import org.apache.doris.external.elasticsearch.EsRestClient; @@ -130,26 +127,6 @@ public class EsExternalCatalog extends ExternalCatalog { } } - @Override - protected void init() { - InitCatalogLog initCatalogLog = new InitCatalogLog(); - initCatalogLog.setCatalogId(id); - initCatalogLog.setType(logType); - if (dbNameToId != null && dbNameToId.containsKey(DEFAULT_DB)) { - idToDb.get(dbNameToId.get(DEFAULT_DB)).setUnInitialized(invalidCacheInInit); - initCatalogLog.addRefreshDb(dbNameToId.get(DEFAULT_DB)); - } else { - dbNameToId = Maps.newConcurrentMap(); - idToDb = Maps.newConcurrentMap(); - long defaultDbId = Env.getCurrentEnv().getNextId(); - dbNameToId.put(DEFAULT_DB, defaultDbId); - ExternalDatabase db = getDbForInit(DEFAULT_DB, defaultDbId, logType); - idToDb.put(defaultDbId, db); - initCatalogLog.addCreateDb(defaultDbId, DEFAULT_DB); - } - Env.getCurrentEnv().getEditLog().logInitCatalog(initCatalogLog); - } - @Override public List listTableNames(SessionContext ctx, String dbName) { makeSureInitialized(); @@ -168,6 +145,11 @@ public class EsExternalCatalog extends ExternalCatalog { return esRestClient.existIndex(this.esRestClient.getClient(), tblName); } + @Override + protected List listDatabaseNames() { + return Lists.newArrayList(DEFAULT_DB); + } + @Override public void checkProperties() throws DdlException { super.checkProperties(); 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 16d4996861..0e8233bcf2 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 @@ -280,8 +280,7 @@ public abstract class ExternalCatalog } dbNameToId = tmpDbNameToId; idToDb = tmpIdToDb; - long currentTime = System.currentTimeMillis(); - lastUpdateTime = currentTime; + lastUpdateTime = System.currentTimeMillis(); initCatalogLog.setLastUpdateTime(lastUpdateTime); Env.getCurrentEnv().getEditLog().logInitCatalog(initCatalogLog); }