[bugfix](multi-catalog) Esexternalcatalog is missing LastUpdateTime. (#24559)

This commit is contained in:
Guangdong Liu
2023-10-07 20:21:33 +08:00
committed by GitHub
parent 26bc749afd
commit b380b8b0b5
3 changed files with 7 additions and 26 deletions

View File

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

View File

@ -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<? extends ExternalTable> db = getDbForInit(DEFAULT_DB, defaultDbId, logType);
idToDb.put(defaultDbId, db);
initCatalogLog.addCreateDb(defaultDbId, DEFAULT_DB);
}
Env.getCurrentEnv().getEditLog().logInitCatalog(initCatalogLog);
}
@Override
public List<String> 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<String> listDatabaseNames() {
return Lists.newArrayList(DEFAULT_DB);
}
@Override
public void checkProperties() throws DdlException {
super.checkProperties();

View File

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