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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]