924060929 opened a new pull request, #38950:
URL: https://github.com/apache/doris/pull/38950

   ## Proposed changes
   
   We should lock table when generate distribute plan, because insert overwrite 
by async materialized view will drop partitions parallel, and query thread will 
throw exception:
   ```
   java.lang.RuntimeException: Cannot invoke 
"org.apache.doris.catalog.Partition.getBaseIndex()" because "partition" is null
       at 
org.apache.doris.nereids.util.Utils.execWithUncheckedException(Utils.java:76) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.translatePlan(PhysicalPlanTranslator.java:278)
 ~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.nereids.NereidsPlanner.splitFragments(NereidsPlanner.java:341) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.nereids.NereidsPlanner.distribute(NereidsPlanner.java:400) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at org.apache.doris.nereids.NereidsPlanner.plan(NereidsPlanner.java:147) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:796) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:605) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at org.apache.doris.qe.StmtExecutor.queryRetry(StmtExecutor.java:558) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:548) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.ConnectProcessor.executeQuery(ConnectProcessor.java:385) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:237) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.MysqlConnectProcessor.handleQuery(MysqlConnectProcessor.java:260)
 ~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.MysqlConnectProcessor.dispatch(MysqlConnectProcessor.java:288)
 ~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.MysqlConnectProcessor.processOnce(MysqlConnectProcessor.java:342)
 ~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) 
~[?:?]
       at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 
~[?:?]
       at java.lang.Thread.run(Thread.java:833) ~[?:?]
   Caused by: java.lang.NullPointerException: Cannot invoke 
"org.apache.doris.catalog.Partition.getBaseIndex()" because "partition" is null
       at 
org.apache.doris.planner.OlapScanNode.mockRowCountInStatistic(OlapScanNode.java:589)
 ~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.planner.OlapScanNode.finalizeForNereids(OlapScanNode.java:1733)
 ~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.nereids.util.Utils.execWithUncheckedException(Utils.java:74) 
~[doris-fe.jar:1.2-SNAPSHOT]
       ... 17 more
   2024-07-29 00:46:17,608 WARN (mysql-nio-pool-114|201) Analyze failed. 
stmt[210035, 49d3041004ba4b6a-b07fe4491d03c5de]
   org.apache.doris.common.NereidsException: errCode = 2, detailMessage = 
Cannot invoke "org.apache.doris.catalog.Partition.getBaseIndex()" because 
"partition" is null
       at 
org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:803) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:605) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at org.apache.doris.qe.StmtExecutor.queryRetry(StmtExecutor.java:558) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:548) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.ConnectProcessor.executeQuery(ConnectProcessor.java:385) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:237) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.MysqlConnectProcessor.handleQuery(MysqlConnectProcessor.java:260)
 ~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.MysqlConnectProcessor.dispatch(MysqlConnectProcessor.java:288)
 ~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.qe.MysqlConnectProcessor.processOnce(MysqlConnectProcessor.java:342)
 ~[doris-fe.jar:1.2-SNAPSHOT]
       at 
org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) 
~[doris-fe.jar:1.2-SNAPSHOT]
       at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) 
~[?:?]
       at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 
~[?:?]
       at java.lang.Thread.run(Thread.java:833) ~[?:?]
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to