diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalDatabase.java index 0a82d37ff3..fa2ecd4011 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalDatabase.java @@ -347,13 +347,17 @@ public abstract class ExternalDatabase throw new NotImplementedException("dropTable() is not implemented"); } + public void dropTableForReplay(String tableName) { + throw new NotImplementedException("replayDropTableFromEvent() is not implemented"); + } + @Override public CatalogIf getCatalog() { return extCatalog; } // Only used for sync hive metastore event - public void replayCreateTableFromEvent(String tableName, long tableId) { + public void createTableForReplay(String tableName, long tableId) { throw new NotImplementedException("createTable() is not implemented"); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalDatabase.java index 093ebe8b40..d75f86bd08 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalDatabase.java @@ -74,7 +74,18 @@ public class HMSExternalDatabase extends ExternalDatabase { } @Override - public void replayCreateTableFromEvent(String tableName, long tableId) { + public void dropTableForReplay(String tableName) { + LOG.debug("replayDropTableFromEvent [{}]", tableName); + Long tableId = tableNameToId.remove(tableName); + if (tableId == null) { + LOG.warn("replayDropTableFromEvent [{}] failed", tableName); + return; + } + idToTbl.remove(tableId); + } + + @Override + public void createTableForReplay(String tableName, long tableId) { LOG.debug("create table [{}]", tableName); tableNameToId.put(tableName, tableId); HMSExternalTable table = getExternalTable(tableName, tableId, extCatalog); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/IcebergExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/IcebergExternalDatabase.java index 8653c3e2dd..a915b3b241 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/IcebergExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/IcebergExternalDatabase.java @@ -49,9 +49,8 @@ public class IcebergExternalDatabase extends ExternalDatabase db = getDbForInit(dbName, dbId, logType);