Skip to content

native] Native expression optimizer crashes worker while optimizing array_least_frequent #27037

@pdabre12

Description

@pdabre12

Query crashing : SELECT array_least_frequent(quantities) from orders_ex

Stack trace:

Caused by: com.facebook.presto.spi.PrestoException: Failed to get optimized expressions from sidecar.
	at com.facebook.presto.sidecar.expressions.NativeSidecarExpressionInterpreter.optimize(NativeSidecarExpressionInterpreter.java:115)
	at com.facebook.presto.sidecar.expressions.NativeSidecarExpressionInterpreter.optimizeBatch(NativeSidecarExpressionInterpreter.java:86)
	at com.facebook.presto.sidecar.expressions.NativeExpressionOptimizer.optimize(NativeExpressionOptimizer.java:116)
	at com.facebook.presto.spi.relation.ExpressionOptimizer.optimize(ExpressionOptimizer.java:27)
	at com.facebook.presto.sql.planner.iterative.rule.SimplifyRowExpressions$Rewriter.rewrite(SimplifyRowExpressions.java:72)
	at com.facebook.presto.sql.planner.iterative.rule.SimplifyRowExpressions$Rewriter.rewrite(SimplifyRowExpressions.java:64)
	at com.facebook.presto.sql.planner.iterative.rule.RowExpressionRewriteRuleSet$ProjectRowExpressionRewrite.apply(RowExpressionRewriteRuleSet.java:176)
	at com.facebook.presto.sql.planner.iterative.rule.RowExpressionRewriteRuleSet$ProjectRowExpressionRewrite.apply(RowExpressionRewriteRuleSet.java:155)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.transform(IterativeOptimizer.java:237)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.exploreNode(IterativeOptimizer.java:189)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.exploreGroup(IterativeOptimizer.java:151)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.exploreChildren(IterativeOptimizer.java:281)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.exploreGroup(IterativeOptimizer.java:153)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.exploreChildren(IterativeOptimizer.java:281)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.exploreGroup(IterativeOptimizer.java:153)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.exploreChildren(IterativeOptimizer.java:281)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.exploreGroup(IterativeOptimizer.java:153)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.exploreChildren(IterativeOptimizer.java:281)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.exploreGroup(IterativeOptimizer.java:153)
	at com.facebook.presto.sql.planner.iterative.IterativeOptimizer.optimize(IterativeOptimizer.java:138)
	at com.facebook.presto.sql.Optimizer.validateAndOptimizePlan(Optimizer.java:114)
	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_null__testversion____20260126_232029_1.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)
	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:842)
Caused by: java.io.UncheckedIOException: java.io.EOFException: HttpConnectionOverHTTP@5da400bf::SocketChannelEndPoint@414fa34a[{l=/127.0.0.1:52040,r=/127.0.0.1:51747,ISHUT,fill=-,flush=-,to=137/60000}{io=0/0,kio=0,kro=1}]->[oejcti.HttpConnectionOverHTTP@5da400bf(l:/127.0.0.1:52040 <-> r:/127.0.0.1:51747,closed=false)=>HttpChannelOverHTTP@560e8d1f(exchange=HttpExchange@3de7e971{req=HttpRequest[POST /v1/expressions HTTP/1.1]@40bbb78a[TERMINATED/null] res=HttpResponse[null 0 null]@7cd20924[PENDING/null]})[send=HttpSenderOverHTTP@5e1605d4(req=QUEUED,failure=null)[HttpGenerator@5cb8c306{s=START}],recv=HttpReceiverOverHTTP@41a228fc(ex=HttpExchange@3de7e971{req=HttpRequest[POST /v1/expressions HTTP/1.1]@40bbb78a[TERMINATED/null] res=HttpResponse[null 0 null]@7cd20924[PENDING/null]},rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]]
	at com.facebook.airlift.http.client.ResponseHandlerUtils.propagate(ResponseHandlerUtils.java:21)
	at com.facebook.airlift.http.client.JsonResponseHandler.handleException(JsonResponseHandler.java:62)
	at com.facebook.airlift.http.client.jetty.JettyHttpClient.execute(JettyHttpClient.java:508)
	at com.facebook.presto.sidecar.expressions.NativeSidecarExpressionInterpreter.optimize(NativeSidecarExpressionInterpreter.java:110)
	... 32 more
Caused by: java.io.EOFException: HttpConnectionOverHTTP@5da400bf::SocketChannelEndPoint@414fa34a[{l=/127.0.0.1:52040,r=/127.0.0.1:51747,ISHUT,fill=-,flush=-,to=137/60000}{io=0/0,kio=0,kro=1}]->[oejcti.HttpConnectionOverHTTP@5da400bf(l:/127.0.0.1:52040 <-> r:/127.0.0.1:51747,closed=false)=>HttpChannelOverHTTP@560e8d1f(exchange=HttpExchange@3de7e971{req=HttpRequest[POST /v1/expressions HTTP/1.1]@40bbb78a[TERMINATED/null] res=HttpResponse[null 0 null]@7cd20924[PENDING/null]})[send=HttpSenderOverHTTP@5e1605d4(req=QUEUED,failure=null)[HttpGenerator@5cb8c306{s=START}],recv=HttpReceiverOverHTTP@41a228fc(ex=HttpExchange@3de7e971{req=HttpRequest[POST /v1/expressions HTTP/1.1]@40bbb78a[TERMINATED/null] res=HttpResponse[null 0 null]@7cd20924[PENDING/null]},rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]]
	at org.eclipse.jetty.client.transport.internal.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:547)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1753)
	at org.eclipse.jetty.client.transport.internal.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:321)
	at org.eclipse.jetty.client.transport.internal.HttpReceiverOverHTTP.parseAndFill(HttpReceiverOverHTTP.java:250)
	at org.eclipse.jetty.client.transport.internal.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:77)
	at org.eclipse.jetty.client.transport.internal.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:97)
	at org.eclipse.jetty.client.transport.internal.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:251)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)

More queries: SELECT array_least_frequent(split(comment, ''), 5) from nation

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Done

Status

✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions