Skip to content

ESQL: STATS query fails with ClassCastException #133992

@jan-elastic

Description

@jan-elastic

Elasticsearch Version

main

Installed Plugins

No response

Java Version

n/a

OS Version

n/a

Problem Description

The query

ROW x = [1,2,3] | STATS MV_COUNT(VALUES(x)), VALUES(x), SUM(x) 

results in

class_cast_exception - class org.elasticsearch.compute.data.IntArrayBlock cannot be cast to class org.elasticsearch.compute.data.LongBlock (org.elasticsearch.compute.data.IntArrayBlock and org.elasticsearch.compute.data.LongBlock are in unnamed module of loader java.net.URLClassLoader @62cba181)

If you remove any of the three aggs, it works.

Steps to Reproduce

see above

Logs (if relevant)

[2025-09-02T16:21:25,633][DEBUG][o.e.x.e.a.EsqlResponseListener] [runTask-0] ESQL query execution failed.
Query string or async ID: [
    ROW x = [1,2,3] | STATS MV_COUNT(VALUES(x)), VALUES(x), SUM(x) 
  ]
Execution time: 8ms
[2025-09-02T16:21:25,633][WARN ][o.e.x.e.a.EsqlResponseListener] [runTask-0] ESQL request failed with status [INTERNAL_SERVER_ERROR]: java.lang.ClassCastException: class org.elasticsearch.compute.data.IntArrayBlock cannot be cast to class org.elasticsearch.compute.data.LongBlock (org.elasticsearch.compute.data.IntArrayBlock and org.elasticsearch.compute.data.LongBlock are in unnamed module of loader java.net.URLClassLoader @62cba181)
	at org.elasticsearch.compute.aggregation.SumIntAggregatorFunction.addIntermediateInput(SumIntAggregatorFunction.java:150)
	at org.elasticsearch.compute.aggregation.Aggregator.processPage(Aggregator.java:41)
	at org.elasticsearch.compute.operator.AggregationOperator.addInput(AggregationOperator.java:111)
	at org.elasticsearch.compute.operator.Driver.runSingleLoopIteration(Driver.java:286)
	at org.elasticsearch.compute.operator.Driver.run(Driver.java:186)
	at org.elasticsearch.compute.operator.Driver$1.doRun(Driver.java:420)
	at org.elasticsearch.server@9.2.0-SNAPSHOT/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at org.elasticsearch.compute.operator.DriverScheduler$1.doRun(DriverScheduler.java:57)
	at org.elasticsearch.server@9.2.0-SNAPSHOT/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at org.elasticsearch.server@9.2.0-SNAPSHOT/org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:35)
	at org.elasticsearch.server@9.2.0-SNAPSHOT/org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1067)
	at org.elasticsearch.server@9.2.0-SNAPSHOT/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
	at java.base/java.lang.Thread.run(Thread.java:1447)

[2025-09-02T16:21:25,633][WARN ][r.suppressed             ] [runTask-0] path: /_query, params: {pretty=true, format=txt}, status: 500 java.lang.ClassCastException: class org.elasticsearch.compute.data.IntArrayBlock cannot be cast to class org.elasticsearch.compute.data.LongBlock (org.elasticsearch.compute.data.IntArrayBlock and org.elasticsearch.compute.data.LongBlock are in unnamed module of loader java.net.URLClassLoader @62cba181)
	at org.elasticsearch.compute.aggregation.SumIntAggregatorFunction.addIntermediateInput(SumIntAggregatorFunction.java:150)
	at org.elasticsearch.compute.aggregation.Aggregator.processPage(Aggregator.java:41)
	at org.elasticsearch.compute.operator.AggregationOperator.addInput(AggregationOperator.java:111)
	at org.elasticsearch.compute.operator.Driver.runSingleLoopIteration(Driver.java:286)
	at org.elasticsearch.compute.operator.Driver.run(Driver.java:186)
	at org.elasticsearch.compute.operator.Driver$1.doRun(Driver.java:420)
	at org.elasticsearch.server@9.2.0-SNAPSHOT/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at org.elasticsearch.compute.operator.DriverScheduler$1.doRun(DriverScheduler.java:57)
	at org.elasticsearch.server@9.2.0-SNAPSHOT/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at org.elasticsearch.server@9.2.0-SNAPSHOT/org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:35)
	at org.elasticsearch.server@9.2.0-SNAPSHOT/org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1067)
	at org.elasticsearch.server@9.2.0-SNAPSHOT/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
	at java.base/java.lang.Thread.run(Thread.java:1447)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions