This is an automated email from the ASF dual-hosted git repository.

morrysnow pushed a commit to branch fix_lock
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 8f6982554159eb133edf3705891548c9ad9ea27d
Author: morrySnow <[email protected]>
AuthorDate: Tue Feb 11 15:42:50 2025 +0800

    branch-3.0: [fix](Nereids) not release lock if schema changed when insert 
#47733
    
    pick from master #47733
---
 .../nereids/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 3e3240c700d..8ca5e0982a1 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
@@ -178,6 +178,7 @@ public class InsertIntoTableCommand extends Command 
implements ForwardWithSync,
                     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.
@@ -185,6 +186,7 @@ public class InsertIntoTableCommand extends Command 
implements ForwardWithSync,
                     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()) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to