liutang123 opened a new issue, #38905:
URL: https://github.com/apache/doris/issues/38905

   ### 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
   
   2.0
   
   ### What's Wrong?
   
   ```
   CREATE TABLE `test_t` (
   `key` varchar(*) NOT NULL,
     `value` varchar(*) NULL
     
   ) ENGINE=OLAP
   DISTRIBUTED BY HASH(`key`) BUCKETS 2
   PROPERTIES (
   "replication_allocation" = "tag.location.default: 1"
   );
   
   
   
   SET enable_fallback_to_original_planner=false;
   
   -- explain ANALYZED PLAN
   SELECT
          t.*
   FROM (
           SELECT a , b 
           FROM (
                   SELECT any_value(value) AS a,
                          any_value(CAST(value AS double)) AS b
                   FROM (
                           SELECT CAST(value AS double) AS value
                           FROM test_t
                   ) rbsj
           ) RB
   ) t
   join
   ( SELECT 124 AS somekey) t2
   ```
   The error :
   ```
   ERROR 1105 (HY000): errCode = 2, detailMessage = Unexpected exception: 
Duplicate key a#3
   ```
   The exception in fe log:
   ```
   org.apache.doris.common.AnalysisException: errCode = 2, detailMessage = 
Unexpected exception: Duplicate key a#3
           at 
org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:620) 
~[doris-fe.jar:1.2-SNAPSHOT]
           at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:485) 
~[doris-fe.jar:1.2-SNAPSHOT]
           at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:475) 
~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:435) 
~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.qe.ConnectProcessor.dispatch(ConnectProcessor.java:587) 
~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.qe.ConnectProcessor.processOnce(ConnectProcessor.java:856) 
~[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:1149) 
~[?:1.8.0_272]
           at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
~[?:1.8.0_272]
           at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_272]
   Caused by: java.lang.IllegalStateException: Duplicate key a#3
           at 
java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133) 
~[?:1.8.0_272]
           at java.util.HashMap.merge(HashMap.java:1254) ~[?:1.8.0_272]
           at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320) 
~[?:1.8.0_272]
           at 
java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) 
~[?:1.8.0_272]
           at 
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) 
~[?:1.8.0_272]
           at 
java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) 
~[?:1.8.0_272]
           at 
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) 
~[?:1.8.0_272]
           at 
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) 
~[?:1.8.0_272]
           at 
java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) 
~[?:1.8.0_272]
           at 
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 
~[?:1.8.0_272]
           at 
java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566) 
~[?:1.8.0_272]
           at 
org.apache.doris.nereids.rules.rewrite.PullUpPredicates.lambda$visitLogicalAggregate$7(PullUpPredicates.java:105)
 ~[doris-f
   e.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.PullUpPredicates.cacheOrElse(PullUpPredicates.java:126)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.PullUpPredicates.visitLogicalAggregate(PullUpPredicates.java:99)
 ~[doris-fe.jar:1.2-
   SNAPSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.PullUpPredicates.visitLogicalAggregate(PullUpPredicates.java:48)
 ~[doris-fe.jar:1.2-
   SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.logical.LogicalAggregate.accept(LogicalAggregate.java:170)
 ~[doris-fe.jar:1.2-SNAPSHOT
   ]
           at 
org.apache.doris.nereids.rules.rewrite.PullUpPredicates.lambda$visitLogicalProject$5(PullUpPredicates.java:84)
 ~[doris-fe.j
   ar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.PullUpPredicates.cacheOrElse(PullUpPredicates.java:126)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.PullUpPredicates.visitLogicalProject(PullUpPredicates.java:83)
 ~[doris-fe.jar:1.2-SN
   APSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.PullUpPredicates.visitLogicalProject(PullUpPredicates.java:48)
 ~[doris-fe.jar:1.2-SN
   APSHOT]
           at 
org.apache.doris.nereids.trees.plans.logical.LogicalProject.accept(LogicalProject.java:134)
 ~[doris-fe.jar:1.2-SNAPSHOT]
   at 
org.apache.doris.nereids.rules.rewrite.InferPredicates.pullUpPredicates(InferPredicates.java:119)
 ~[doris-fe.jar:1.2-SNAPSH
   OT]
           at 
org.apache.doris.nereids.rules.rewrite.InferPredicates.getAllExpressions(InferPredicates.java:111)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.InferPredicates.visitLogicalJoin(InferPredicates.java:70)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.InferPredicates.visitLogicalJoin(InferPredicates.java:54)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.logical.LogicalJoin.accept(LogicalJoin.java:263)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.DefaultPlanRewriter.visitChildren(DefaultPlanRewriter.java:54)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.DefaultPlanRewriter.visit(DefaultPlanRewriter.java:35)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.DefaultPlanRewriter.visit(DefaultPlanRewriter.java:31)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.PlanVisitor.visitLogicalProject(PlanVisitor.java:191)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.logical.LogicalProject.accept(LogicalProject.java:134)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.DefaultPlanRewriter.visitChildren(DefaultPlanRewriter.java:54)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.DefaultPlanRewriter.visit(DefaultPlanRewriter.java:35)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.DefaultPlanRewriter.visit(DefaultPlanRewriter.java:31)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.PlanVisitor.visitLogicalSink(PlanVisitor.java:118)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.SinkVisitor.visitLogicalResultSink(SinkVisitor.java:78)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.logical.LogicalResultSink.accept(LogicalResultSink.java:58)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.InferPredicates.rewriteRoot(InferPredicates.java:59)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.jobs.rewrite.CustomRewriteJob.execute(CustomRewriteJob.java:59)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.jobs.executor.AbstractBatchJobExecutor.execute(AbstractBatchJobExecutor.java:119)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.RewriteCteChildren.visit(RewriteCteChildren.java:73)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.rules.rewrite.RewriteCteChildren.visit(RewriteCteChildren.java:57)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.PlanVisitor.visitLogicalSink(PlanVisitor.java:118)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.visitor.SinkVisitor.visitLogicalResultSink(SinkVisitor.java:78)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.trees.plans.logical.LogicalResultSink.accept(LogicalResultSink.java:58)
 ~[doris-fe.jar:1.2-SNAPSHOT]
   at 
org.apache.doris.nereids.rules.rewrite.RewriteCteChildren.rewriteRoot(RewriteCteChildren.java:68)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.jobs.rewrite.CustomRewriteJob.execute(CustomRewriteJob.java:59)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.jobs.executor.AbstractBatchJobExecutor.execute(AbstractBatchJobExecutor.java:119)
 ~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.NereidsPlanner.rewrite(NereidsPlanner.java:304) 
~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.NereidsPlanner.plan(NereidsPlanner.java:234) 
~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.nereids.NereidsPlanner.plan(NereidsPlanner.java:126) 
~[doris-fe.jar:1.2-SNAPSHOT]
           at 
org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:616) 
~[doris-fe.jar:1.2-SNAPSHOT]
           ... 9 more
   ```
   
   ### What You Expected?
   
   No exception
   
   ### How to Reproduce?
   
   _No response_
   
   ### 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]

Reply via email to