From 84a7fb9e1c5f2c203c09dd095ebd80b7b2929dc7 Mon Sep 17 00:00:00 2001 From: Benjamin Trent <4357155+benwtrent@users.noreply.github.com> Date: Mon, 4 Aug 2025 12:16:50 -0400 Subject: [PATCH 1/3] Correct exception for missing nested path --- .../java/org/elasticsearch/index/query/NestedQueryBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/org/elasticsearch/index/query/NestedQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/NestedQueryBuilder.java index 34c5ede62a656..7b557dcfc4db6 100644 --- a/server/src/main/java/org/elasticsearch/index/query/NestedQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/NestedQueryBuilder.java @@ -300,7 +300,7 @@ public static Query toQuery( if (ignoreUnmapped) { return new MatchNoDocsQuery(); } else { - throw new IllegalStateException("[" + NAME + "] failed to find nested object under path [" + path + "]"); + throw new QueryShardException(context, "[" + NAME + "] failed to find nested object under path [" + path + "]"); } } final BitSetProducer parentFilter; From 91844abe77bfc3829f693d08f10a6429425fda7f Mon Sep 17 00:00:00 2001 From: Benjamin Trent Date: Mon, 4 Aug 2025 12:17:49 -0400 Subject: [PATCH 2/3] Update docs/changelog/132408.yaml --- docs/changelog/132408.yaml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 docs/changelog/132408.yaml diff --git a/docs/changelog/132408.yaml b/docs/changelog/132408.yaml new file mode 100644 index 0000000000000..372f5d56fd05b --- /dev/null +++ b/docs/changelog/132408.yaml @@ -0,0 +1,5 @@ +pr: 132408 +summary: Correct exception for missing nested path +area: Search +type: bug +issues: [] From e206ba72e61c5cc661073baa0eb19ee439a37424 Mon Sep 17 00:00:00 2001 From: Benjamin Trent <4357155+benwtrent@users.noreply.github.com> Date: Mon, 4 Aug 2025 15:52:58 -0400 Subject: [PATCH 3/3] fixing test --- .../elasticsearch/index/query/NestedQueryBuilderTests.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/server/src/test/java/org/elasticsearch/index/query/NestedQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/NestedQueryBuilderTests.java index 7f4f95cdd2416..6ab936bfab27c 100644 --- a/server/src/test/java/org/elasticsearch/index/query/NestedQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/NestedQueryBuilderTests.java @@ -294,10 +294,7 @@ public void testIgnoreUnmapped() throws IOException { final NestedQueryBuilder failingQueryBuilder = new NestedQueryBuilder("unmapped", new MatchAllQueryBuilder(), ScoreMode.None); failingQueryBuilder.ignoreUnmapped(false); - IllegalStateException e = expectThrows( - IllegalStateException.class, - () -> failingQueryBuilder.toQuery(createSearchExecutionContext()) - ); + QueryShardException e = expectThrows(QueryShardException.class, () -> failingQueryBuilder.toQuery(createSearchExecutionContext())); assertThat(e.getMessage(), containsString("[" + NestedQueryBuilder.NAME + "] failed to find nested object under path [unmapped]")); }