This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 7ddba7bf54 [fix](multi-catalog) when checkProperties failed,will have dirty data (#17877) 7ddba7bf54 is described below commit 7ddba7bf546f9244c9dae68e3bb006fa050007a6 Author: zhangdong <493738...@qq.com> AuthorDate: Wed Mar 22 09:40:07 2023 +0800 [fix](multi-catalog) when checkProperties failed,will have dirty data (#17877) --- .../src/main/java/org/apache/doris/datasource/CatalogMgr.java | 10 +++++----- fe/fe-core/src/main/java/org/apache/doris/persist/EditLog.java | 2 +- 2 files changed, 6 insertions(+), 6 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 9ab8ecae4d..5ee4cf8de8 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 @@ -250,10 +250,7 @@ public class CatalogMgr implements Writable, GsonPostProcessable { } long id = Env.getCurrentEnv().getNextId(); CatalogLog log = CatalogFactory.constructorCatalogLog(id, stmt); - CatalogIf catalog = replayCreateCatalog(log); - if (catalog instanceof ExternalCatalog) { - ((ExternalCatalog) catalog).checkProperties(); - } + replayCreateCatalog(log, false); Env.getCurrentEnv().getEditLog().logCatalogLog(OperationType.OP_CREATE_CATALOG, log); } finally { writeUnlock(); @@ -461,10 +458,13 @@ public class CatalogMgr implements Writable, GsonPostProcessable { /** * Reply for create catalog event. */ - public CatalogIf replayCreateCatalog(CatalogLog log) throws DdlException { + public CatalogIf replayCreateCatalog(CatalogLog log, boolean isReplay) throws DdlException { writeLock(); try { CatalogIf catalog = CatalogFactory.constructorFromLog(log); + if (!isReplay && catalog instanceof ExternalCatalog) { + ((ExternalCatalog) catalog).checkProperties(); + } addCatalog(catalog); return catalog; } finally { diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/EditLog.java b/fe/fe-core/src/main/java/org/apache/doris/persist/EditLog.java index 2adc448227..4b11a8c9fb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/persist/EditLog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/persist/EditLog.java @@ -867,7 +867,7 @@ public class EditLog { } case OperationType.OP_CREATE_CATALOG: { CatalogLog log = (CatalogLog) journal.getData(); - env.getCatalogMgr().replayCreateCatalog(log); + env.getCatalogMgr().replayCreateCatalog(log, true); break; } case OperationType.OP_DROP_CATALOG: { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org