TestSingleNodeCteExecution.testJoinAndAggregationWithPersistentCtes is flaky
Author: hantangwangdCreated Jan 6, 2026Updated Sep 17, 2026
Labelsflaky-test
Example failure: https://github.com/prestodb/presto/actions/runs/20753983298/job/59590773065?pr=23645
Error stack:
Error: Tests run: 3928, Failures: 1, Errors: 0, Skipped: 91, Time elapsed: 2,936.901 s <<< FAILURE! - in TestSuite
Error: com.facebook.presto.hive.TestSingleNodeCteExecution.testJoinAndAggregationWithPersistentCtes Time elapsed: 0.034 s <<< FAILURE!
java.lang.RuntimeException: Sampling function: key_sampling_percent not cannot be resolved
at com.facebook.presto.tests.AbstractTestingPrestoClient.execute(AbstractTestingPrestoClient.java:127)
at com.facebook.presto.tests.DistributedQueryRunner.execute(DistributedQueryRunner.java:906)
at com.facebook.presto.tests.DistributedQueryRunner.execute(DistributedQueryRunner.java:874)
at com.facebook.presto.tests.AbstractTestQueryFramework.computeActual(AbstractTestQueryFramework.java:148)
at com.facebook.presto.hive.AbstractTestCteExecution.verifyCTEExplainPlan(AbstractTestCteExecution.java:1245)
at com.facebook.presto.hive.AbstractTestCteExecution.verifyResults(AbstractTestCteExecution.java:1239)
at com.facebook.presto.hive.AbstractTestCteExecution.verifyResults(AbstractTestCteExecution.java:1230)
at com.facebook.presto.hive.AbstractTestCteExecution.testJoinAndAggregationWithPersistentCtes(AbstractTestCteExecution.java:546)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:135)
at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:673)
at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:220)
at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50)
at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:945)
at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:193)
at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128)
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:840)
Caused by: com.facebook.presto.spi.PrestoException: Sampling function: key_sampling_percent not cannot be resolved
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler$Rewriter.addSamplingFilter(KeyBasedSampler.java:156)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler$Rewriter.sampleSourceNodeWithKey(KeyBasedSampler.java:207)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler$Rewriter.visitAggregation(KeyBasedSampler.java:268)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler$Rewriter.visitAggregation(KeyBasedSampler.java:112)
at com.facebook.presto.spi.plan.AggregationNode.accept(AggregationNode.java:242)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.rewrite(SimplePlanRewriter.java:97)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.lambda$defaultRewrite$0(SimplePlanRewriter.java:85)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Collections$2.tryAdvance(Collections.java:4853)
at java.base/java.util.Collections$2.forEachRemaining(Collections.java:4861)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.defaultRewrite(SimplePlanRewriter.java:86)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:45)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:24)
at com.facebook.presto.spi.plan.PlanVisitor.visitCteProducer(PlanVisitor.java:100)
at com.facebook.presto.spi.plan.CteProducerNode.accept(CteProducerNode.java:101)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.rewrite(SimplePlanRewriter.java:97)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.lambda$defaultRewrite$0(SimplePlanRewriter.java:85)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.defaultRewrite(SimplePlanRewriter.java:86)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:45)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:24)
at com.facebook.presto.sql.planner.plan.InternalPlanVisitor.visitSequence(InternalPlanVisitor.java:143)
at com.facebook.presto.sql.planner.plan.SequenceNode.accept(SequenceNode.java:194)
at com.facebook.presto.sql.planner.plan.InternalPlanNode.accept(InternalPlanNode.java:34)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.rewrite(SimplePlanRewriter.java:97)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.lambda$defaultRewrite$0(SimplePlanRewriter.java:85)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Collections$2.tryAdvance(Collections.java:4853)
at java.base/java.util.Collections$2.forEachRemaining(Collections.java:4861)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.defaultRewrite(SimplePlanRewriter.java:86)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:45)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:24)
at com.facebook.presto.spi.plan.PlanVisitor.visitOutput(PlanVisitor.java:25)
at com.facebook.presto.spi.plan.OutputNode.accept(OutputNode.java:97)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.rewriteWith(SimplePlanRewriter.java:35)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler.optimize(KeyBasedSampler.java:95)
at com.facebook.presto.sql.Optimizer.validateAndOptimizePlan(Optimizer.java:114)
at com.facebook.presto.sql.analyzer.QueryExplainer.lambda$getLogicalPlan$2(QueryExplainer.java:233)
at com.facebook.presto.common.RuntimeStats.recordWallAndCpuTime(RuntimeStats.java:158)
at com.facebook.presto.sql.analyzer.QueryExplainer.getLogicalPlan(QueryExplainer.java:231)
at com.facebook.presto.sql.analyzer.QueryExplainer.getLogicalPlan(QueryExplainer.java:198)
at com.facebook.presto.sql.analyzer.QueryExplainer.getPlan(QueryExplainer.java:137)
at com.facebook.presto.sql.rewrite.ExplainRewrite$Visitor.getQueryPlan(ExplainRewrite.java:147)
at com.facebook.presto.sql.rewrite.ExplainRewrite$Visitor.visitExplain(ExplainRewrite.java:130)
at com.facebook.presto.sql.rewrite.ExplainRewrite$Visitor.visitExplain(ExplainRewrite.java:71)
at com.facebook.presto.sql.tree.Explain.accept(Explain.java:80)
at com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:27)
at com.facebook.presto.sql.rewrite.ExplainRewrite.rewrite(ExplainRewrite.java:68)
at com.facebook.presto.sql.rewrite.StatementRewrite.rewrite(StatementRewrite.java:59)
at com.facebook.presto.sql.analyzer.Analyzer.analyzeSemantic(Analyzer.java:130)
at com.facebook.presto.sql.analyzer.BuiltInQueryAnalyzer.analyze(BuiltInQueryAnalyzer.java:95)
at com.facebook.presto.execution.SqlQueryExecution.lambda$new$0(SqlQueryExecution.java:219)
at com.facebook.presto.common.RuntimeStats.recordWallAndCpuTime(RuntimeStats.java:158)
at com.facebook.presto.execution.SqlQueryExecution.<init>(SqlQueryExecution.java:219)
at com.facebook.presto.execution.SqlQueryExecution.<init>(SqlQueryExecution.java:112)
at com.facebook.presto.execution.SqlQueryExecution$SqlQueryExecutionFactory.createQueryExecution(SqlQueryExecution.java:1019)
at com.facebook.presto.dispatcher.LocalDispatchQueryFactory.lambda$createDispatchQuery$0(LocalDispatchQueryFactory.java:169)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:75)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
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:840)
Caused by: com.facebook.presto.spi.PrestoException: Function key_sampling_percent not registered
at com.facebook.presto.metadata.FunctionAndTypeManager.resolveFunctionInternal(FunctionAndTypeManager.java:955)
at com.facebook.presto.metadata.FunctionAndTypeManager.resolveBuiltInFunction(FunctionAndTypeManager.java:964)
at com.facebook.presto.metadata.FunctionAndTypeManager.lambda$new$0(FunctionAndTypeManager.java:199)
at com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:169)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3571)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2313)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2190)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2080)
at com.google.common.cache.LocalCache.get(LocalCache.java:4012)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4035)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5011)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5018)
at com.facebook.presto.metadata.FunctionAndTypeManager.lookupCachedFunction(FunctionAndTypeManager.java:970)
at com.facebook.presto.metadata.FunctionAndTypeManager.lookupFunction(FunctionAndTypeManager.java:854)
at com.facebook.presto.metadata.FunctionAndTypeManager.lookupFunction(FunctionAndTypeManager.java:842)
at com.facebook.presto.sql.relational.Expressions.call(Expressions.java:152)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler$Rewriter.addSamplingFilter(KeyBasedSampler.java:149)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler$Rewriter.visitJoin(KeyBasedSampler.java:241)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler$Rewriter.visitJoin(KeyBasedSampler.java:112)
at com.facebook.presto.spi.plan.JoinNode.accept(JoinNode.java:322)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.rewrite(SimplePlanRewriter.java:97)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.lambda$defaultRewrite$0(SimplePlanRewriter.java:85)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Collections$2.tryAdvance(Collections.java:4853)
at java.base/java.util.Collections$2.forEachRemaining(Collections.java:4861)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.defaultRewrite(SimplePlanRewriter.java:86)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:45)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:24)
at com.facebook.presto.spi.plan.PlanVisitor.visitProject(PlanVisitor.java:35)
at com.facebook.presto.spi.plan.ProjectNode.accept(ProjectNode.java:107)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.rewriteWith(SimplePlanRewriter.java:35)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.rewriteWith(SimplePlanRewriter.java:29)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler$Rewriter.sampleSourceNodeWithKey(KeyBasedSampler.java:204)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler$Rewriter.visitAggregation(KeyBasedSampler.java:268)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler$Rewriter.visitAggregation(KeyBasedSampler.java:112)
at com.facebook.presto.spi.plan.AggregationNode.accept(AggregationNode.java:242)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.rewrite(SimplePlanRewriter.java:97)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.lambda$defaultRewrite$0(SimplePlanRewriter.java:85)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Collections$2.tryAdvance(Collections.java:4853)
at java.base/java.util.Collections$2.forEachRemaining(Collections.java:4861)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.defaultRewrite(SimplePlanRewriter.java:86)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:45)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:24)
at com.facebook.presto.spi.plan.PlanVisitor.visitCteProducer(PlanVisitor.java:100)
at com.facebook.presto.spi.plan.CteProducerNode.accept(CteProducerNode.java:101)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.rewrite(SimplePlanRewriter.java:97)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.lambda$defaultRewrite$0(SimplePlanRewriter.java:85)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.defaultRewrite(SimplePlanRewriter.java:86)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:45)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:24)
at com.facebook.presto.sql.planner.plan.InternalPlanVisitor.visitSequence(InternalPlanVisitor.java:143)
at com.facebook.presto.sql.planner.plan.SequenceNode.accept(SequenceNode.java:194)
at com.facebook.presto.sql.planner.plan.InternalPlanNode.accept(InternalPlanNode.java:34)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.rewrite(SimplePlanRewriter.java:97)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.lambda$defaultRewrite$0(SimplePlanRewriter.java:85)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Collections$2.tryAdvance(Collections.java:4853)
at java.base/java.util.Collections$2.forEachRemaining(Collections.java:4861)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter$RewriteContext.defaultRewrite(SimplePlanRewriter.java:86)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:45)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.visitPlan(SimplePlanRewriter.java:24)
at com.facebook.presto.spi.plan.PlanVisitor.visitOutput(PlanVisitor.java:25)
at com.facebook.presto.spi.plan.OutputNode.accept(OutputNode.java:97)
at com.facebook.presto.sql.planner.plan.SimplePlanRewriter.rewriteWith(SimplePlanRewriter.java:35)
at com.facebook.presto.sql.planner.optimizations.KeyBasedSampler.optimize(KeyBasedSampler.java:95)
at com.facebook.presto.sql.planner.optimizations.PlanOptimizer.isApplicable(PlanOptimizer.java:65)
at com.facebook.presto.sql.Optimizer.collectOptimizerInformation(Optimizer.java:170)
at com.facebook.presto.sql.Optimizer.validateAndOptimizePlan(Optimizer.java:121)
at com.facebook.presto.execution.SqlQueryExecution.lambda$doCreateLogicalPlanAndOptimize$5(SqlQueryExecution.java:596)
at com.facebook.presto.common.RuntimeStats.recordWallAndCpuTime(RuntimeStats.java:158)
at com.facebook.presto.execution.SqlQueryExecution.doCreateLogicalPlanAndOptimize(SqlQueryExecution.java:594)
at com.facebook.presto.common.RuntimeStats.recordWallAndCpuTime(RuntimeStats.java:158)
at com.facebook.presto.execution.SqlQueryExecution.createLogicalPlanAndOptimize(SqlQueryExecution.java:565)
at com.facebook.presto.execution.SqlQueryExecution.start(SqlQueryExecution.java:493)
at com.facebook.presto.$gen.Presto_0_297_SNAPSHOT_8371bcc__testversion____20260106_162618_41107.run(Unknown Source)
at com.facebook.presto.execution.SqlQueryManager.createQuery(SqlQueryManager.java:326)
at com.facebook.presto.dispatcher.LocalDispatchQuery.lambda$startExecution$8(LocalDispatchQuery.java:210)
... 3 moreSource: prestodb/presto