bzhang-obsec opened a new issue, #66030: URL: https://github.com/apache/doris/issues/66030
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues. ### Version Tested `doris-4.1.1-rc01-b10073ad9ca` and `4.1.2-rc01-aec169d2025`. The following exceptions are captured with `doris-4.1.1-rc01-b10073ad9ca`. ### What's Wrong? Given a table with both `PARTITION BY LIST` and `store_row_column`, `enable_unique_key_merge_on_write` and `light_schema_change` properties, which enables short-circuit queries, a point query will fail with `java.lang.IllegalStateException`. Exception captured from FE: ``` [StmtExecutor.executeAndSendResult():1440] cancel fragment query_id:90349b0792234501-bd299dcc9db13ada cause null [StmtExecutor.execute():570] Nereids execute failed. stmt[2396, 90349b0792234501-bd299dcc9db13ada] java.lang.IllegalStateException at com.google.common.base.Preconditions.checkState(Preconditions.java:499) at org.apache.doris.qe.PointQueryExecutor.setScanRangeLocations(PointQueryExecutor.java:120) at org.apache.doris.qe.PointQueryExecutor.getNext(PointQueryExecutor.java:254) at org.apache.doris.qe.StmtExecutor.executeAndSendResult(StmtExecutor.java:1344) at org.apache.doris.qe.StmtExecutor.handleQueryStmt(StmtExecutor.java:1274) at org.apache.doris.qe.StmtExecutor.handleQueryWithRetry(StmtExecutor.java:931) at org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:838) at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:555) at org.apache.doris.qe.StmtExecutor.queryRetry(StmtExecutor.java:514) at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:499) at org.apache.doris.nereids.trees.plans.commands.ExecuteCommand.run(ExecuteCommand.java:115) at org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:698) at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:555) at org.apache.doris.qe.StmtExecutor.queryRetry(StmtExecutor.java:514) at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:499) at org.apache.doris.qe.MysqlConnectProcessor.handleExecute(MysqlConnectProcessor.java:174) at org.apache.doris.qe.MysqlConnectProcessor.handleExecute(MysqlConnectProcessor.java:221) at org.apache.doris.qe.MysqlConnectProcessor.dispatch(MysqlConnectProcessor.java:266) at org.apache.doris.qe.MysqlConnectProcessor.processOnce(MysqlConnectProcessor.java:407) at org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) RuntimeLogger 2026-07-25 01:28:27,545 WARN (mysql-nio-pool-5|355) [StmtExecutor.execute():566] Analyze failed. stmt[2396, 90349b0792234501-bd299dcc9db13ada] org.apache.doris.common.NereidsException: errCode = 2, detailMessage = java.lang.IllegalStateException at org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:726) at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:555) at org.apache.doris.qe.StmtExecutor.queryRetry(StmtExecutor.java:514) at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:499) at org.apache.doris.qe.MysqlConnectProcessor.handleExecute(MysqlConnectProcessor.java:174) at org.apache.doris.qe.MysqlConnectProcessor.handleExecute(MysqlConnectProcessor.java:221) at org.apache.doris.qe.MysqlConnectProcessor.dispatch(MysqlConnectProcessor.java:266) at org.apache.doris.qe.MysqlConnectProcessor.processOnce(MysqlConnectProcessor.java:407) at org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: org.apache.doris.common.AnalysisException: errCode = 2, detailMessage = java.lang.IllegalStateException ... 12 more Caused by: java.lang.IllegalStateException at com.google.common.base.Preconditions.checkState(Preconditions.java:499) at org.apache.doris.qe.PointQueryExecutor.setScanRangeLocations(PointQueryExecutor.java:120) at org.apache.doris.qe.PointQueryExecutor.getNext(PointQueryExecutor.java:254) at org.apache.doris.qe.StmtExecutor.executeAndSendResult(StmtExecutor.java:1344) at org.apache.doris.qe.StmtExecutor.handleQueryStmt(StmtExecutor.java:1274) at org.apache.doris.qe.StmtExecutor.handleQueryWithRetry(StmtExecutor.java:931) at org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:838) at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:555) at org.apache.doris.qe.StmtExecutor.queryRetry(StmtExecutor.java:514) at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:499) at org.apache.doris.nereids.trees.plans.commands.ExecuteCommand.run(ExecuteCommand.java:115) at org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:698) ... 11 more finished to tablet scheduler. cost: 0 ms Null packet received from network. remote: 127.0.0.1:43650 ``` While no log from BE is seen. ### What You Expected? The point query should succeed. ### How to Reproduce? 1. Create a doris cluster. 2. Create a table with both `PARTITION BY LIST` and enables short circuit query: ``` CREATE TABLE tbl_point_query ( pk varchar(64), _id bigint ) UNIQUE KEY(pk, _id) PARTITION BY LIST (`pk`) (PARTITION p_abcd VALUES IN ('abcd')) DISTRIBUTED BY HASH(pk, _id) BUCKETS AUTO PROPERTIES ( "replication_num" = "1", "enable_unique_key_merge_on_write" = "true", "store_row_column" = "true", "light_schema_change" = "true" ); ``` 3. `INSERT INTO tbl_point_query (pk, _id) VALUES ('abcd', 1);` 4. `EXPLAIN SELECT * FROM tbl_point_query WHERE pk = 'abcd' AND _id = 1;` This shows `SHORT-CIRCUIT` in one of the steps. 5. Execute `SELECT * FROM tbl_point_query WHERE pk = 'abcd' AND _id = 1`. An error is returned as `(1105, 'IllegalStateException, msg: null')`. ### Anything Else? _No response_ ### Are you willing to submit PR? - [x] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
