From 6376b243006356d92114cfd1d463e3959a2ab634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E5=81=A5?= Date: Tue, 30 Jan 2024 17:18:48 +0800 Subject: [PATCH] [fix](Nereids): don't log edit log when replaying (#30578) * don't log edit log when replaying --- .../src/main/java/org/apache/doris/catalog/TableIf.java | 6 ++++-- .../nereids/trees/plans/commands/DropConstraintCommand.java | 2 +- .../src/main/java/org/apache/doris/persist/EditLog.java | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java index c57d6cce7f..612bfc65ea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java @@ -327,7 +327,7 @@ public interface TableIf { } } - default void dropConstraint(String name) { + default void dropConstraint(String name, boolean replay) { writeLock(); try { Map constraintMap = getConstraintsMapUnsafe(); @@ -341,7 +341,9 @@ public interface TableIf { ((PrimaryKeyConstraint) constraint).getForeignTables() .forEach(t -> t.dropFKReferringPK(this, (PrimaryKeyConstraint) constraint)); } - Env.getCurrentEnv().getEditLog().logDropConstraint(new AlterConstraintLog(constraint, this)); + if (!replay) { + Env.getCurrentEnv().getEditLog().logDropConstraint(new AlterConstraintLog(constraint, this)); + } } finally { writeUnlock(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropConstraintCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropConstraintCommand.java index d13ca98ef9..9878b0e926 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropConstraintCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropConstraintCommand.java @@ -56,7 +56,7 @@ public class DropConstraintCommand extends Command implements ForwardWithSync { @Override public void run(ConnectContext ctx, StmtExecutor executor) throws Exception { TableIf table = extractTable(ctx, plan); - table.dropConstraint(name); + table.dropConstraint(name, false); } private TableIf extractTable(ConnectContext ctx, LogicalPlan plan) { 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 958277dd6b..8400c0d667 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 @@ -983,7 +983,7 @@ public class EditLog { } case OperationType.OP_DROP_CONSTRAINT: { final AlterConstraintLog log = (AlterConstraintLog) journal.getData(); - log.getTableIf().dropConstraint(log.getConstraint().getName()); + log.getTableIf().dropConstraint(log.getConstraint().getName(), true); break; } case OperationType.OP_ALTER_USER: {