From 2bdc399234c2fa5b67d28b63ee0b3e09cedc42c7 Mon Sep 17 00:00:00 2001 From: morrySnow Date: Tue, 11 Feb 2025 11:54:14 +0800 Subject: [PATCH] [fix](Nereids) not release lock if schema changed when insert --- .../trees/plans/commands/insert/InsertIntoTableCommand.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java index 39c5909d4f553d..cba3373a6c2a13 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java @@ -190,6 +190,7 @@ public AbstractInsertExecutor initPlan(ConnectContext ctx, StmtExecutor stmtExec LOG.warn("insert plan failed {} times. query id is {}. table id changed from {} to {}", retryTimes, DebugUtil.printId(ctx.queryId()), targetTableIf.getId(), newestTargetTableIf.getId()); + newestTargetTableIf.readUnlock(); continue; } // Use the schema saved during planning as the schema of the original target table. @@ -197,6 +198,7 @@ public AbstractInsertExecutor initPlan(ConnectContext ctx, StmtExecutor stmtExec LOG.warn("insert plan failed {} times. query id is {}. table schema changed from {} to {}", retryTimes, DebugUtil.printId(ctx.queryId()), ctx.getStatementContext().getInsertTargetSchema(), newestTargetTableIf.getFullSchema()); + newestTargetTableIf.readUnlock(); continue; } if (!insertExecutor.isEmptyInsert()) {