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()) {