Skip to content

"failed to find nested object under path" Throws 5xx when it should be "bad_request #132407

@benwtrent

Description

@benwtrent

Elasticsearch Version

current

Installed Plugins

No response

Java Version

bundled

OS Version

any

Problem Description

When making a filtered aggs call, its possible to return a 5xx when it should be a 4xx due to malformed query or mappings for nested fields.

Steps to Reproduce

N/A (seen in production)

Logs (if relevant)

java.lang.IllegalStateException: [nested] failed to find nested object under path [<SOME NESTED QUERY FIELD>]
	at org.elasticsearch.server@9.2.0/org.elasticsearch.index.query.NestedQueryBuilder.toQuery(NestedQueryBuilder.java:303)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.index.query.NestedQueryBuilder.doToQuery(NestedQueryBuilder.java:272)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.index.query.AbstractQueryBuilder.toQuery(AbstractQueryBuilder.java:119)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.aggregations.support.AggregationContext$ProductionAggregationContext.buildQuery(AggregationContext.java:500)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.aggregations.bucket.filter.FilterAggregationBuilder$FilterAggregatorFactory.<init>(FilterAggregationBuilder.java:173)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.aggregations.bucket.filter.FilterAggregationBuilder.doBuild(FilterAggregationBuilder.java:116)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.aggregations.AbstractAggregationBuilder.build(AbstractAggregationBuilder.java:130)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.aggregations.AggregatorFactories$Builder.build(AggregatorFactories.java:453)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.SearchService.parseSource(SearchService.java:1641)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.SearchService.createContext(SearchService.java:1354)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:888)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.search.SearchService.lambda$executeQueryPhase$7(SearchService.java:729)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.action.ActionRunnable$3.accept(ActionRunnable.java:79)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.action.ActionRunnable$3.accept(ActionRunnable.java:76)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.action.ActionRunnable$4.doRun(ActionRunnable.java:101)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:35)
	at org.elasticsearch.server@9.2.0/org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1067)
	at org.elasticsearch.server@9.2.0/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