incubator-doris [Bug] query thrown NPE when query a restore table

avkwfej4  于 2022-04-22  发布在  Java
关注(0)|答案(0)|浏览(126)

Search before asking

  • I had searched in the issues and found no similar issues.

Version

trunk

What's Wrong?

Can not query table:

2022-04-20 21:23:54,153 WARN (doris-mysql-nio-pool-173|18520) [StmtExecutor.analyze():536] Analyze failed because
java.lang.IllegalStateException: null
        at com.google.common.base.Preconditions.checkState(Preconditions.java:492) ~[spark-dpp-1.0.0.jar:1.0.0]
        at org.apache.doris.catalog.ColocateTableIndex.getGroup(ColocateTableIndex.java:332) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.planner.DistributedPlanner.canBucketShuffleJoin(DistributedPlanner.java:626) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.planner.DistributedPlanner.canBucketShuffleJoin(DistributedPlanner.java:600) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.planner.DistributedPlanner.createHashJoinFragment(DistributedPlanner.java:333) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.planner.DistributedPlanner.createPlanFragments(DistributedPlanner.java:205) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.planner.DistributedPlanner.createPlanFragments(DistributedPlanner.java:104) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.planner.Planner.createPlanFragments(Planner.java:220) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.planner.Planner.plan(Planner.java:88) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.StmtExecutor.analyzeAndGenerateQueryPlan(StmtExecutor.java:640) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.StmtExecutor.analyze(StmtExecutor.java:524) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:315) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:288) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:217) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.ConnectProcessor.dispatch(ConnectProcessor.java:355) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.ConnectProcessor.processOnce(ConnectProcessor.java:556) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:50) ~[palo-fe.jar:3.4.0]

Can not modify table's colocate_with property:

2022-04-20 21:48:18,608 WARN (doris-mysql-nio-pool-179|18822) [StmtExecutor.handleDdlStmt():1442] DDL statement(/* ApplicationName=DataGrip 2020.2.3 */ ALTER TABLE ads_fin.dim_org SET ("colocate_with" = "")) process failed.
java.lang.NullPointerException: null
        at org.apache.doris.catalog.Catalog.modifyTableColocate(Catalog.java:5394) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.alter.SchemaChangeHandler.process(SchemaChangeHandler.java:1644) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.alter.Alter.processAlterOlapTable(Alter.java:150) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.alter.Alter.processAlterTable(Alter.java:362) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.catalog.Catalog.alterTable(Catalog.java:5202) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.DdlExecutor.execute(DdlExecutor.java:139) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.StmtExecutor.handleDdlStmt(StmtExecutor.java:1432) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:385) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:288) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:217) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.ConnectProcessor.dispatch(ConnectProcessor.java:355) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.qe.ConnectProcessor.processOnce(ConnectProcessor.java:556) ~[palo-fe.jar:3.4.0]
        at org.apache.doris.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:50) ~[palo-fe.jar:3.4.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_271]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_271]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_271]

What You Expected?

Works well

How to Reproduce?

This is because the table is from a Restore job. So it contains the colocate_with property.
And the Backup job does not save the colocation group info.

Anything Else?

  • No response*

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题