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

Reply via email to