#26910·presto

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 more