From 92e4e390c795481247aef8eb44479a8ab028aa1b Mon Sep 17 00:00:00 2001 From: Ola Aunrønning Date: Fri, 26 Nov 2021 13:21:32 +0100 Subject: Include actual item count in error message --- .../src/main/java/com/yahoo/prelude/query/QueryCanonicalizer.java | 3 ++- .../java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'container-search') diff --git a/container-search/src/main/java/com/yahoo/prelude/query/QueryCanonicalizer.java b/container-search/src/main/java/com/yahoo/prelude/query/QueryCanonicalizer.java index 32b7ee2779f..693c5e98b57 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/QueryCanonicalizer.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/QueryCanonicalizer.java @@ -51,7 +51,8 @@ public class QueryCanonicalizer { ListIterator rootItemIterator = query.getItemIterator(); CanonicalizationResult result = recursivelyCanonicalize(rootItemIterator.next(), rootItemIterator); if (query.isEmpty() && ! result.isError()) result = CanonicalizationResult.error("No query"); - if (query.getTreeSize() > maxQueryItems) result = CanonicalizationResult.error("Query tree exceeds allowed item count. Configured item limit: " + maxQueryItems); + int itemCount = query.getTreeSize(); + if (itemCount > maxQueryItems) result = CanonicalizationResult.error(String.format("Query tree exceeds allowed item count. Configured limit: %d - Item count: %d", maxQueryItems, itemCount)); return result.error().orElse(null); // preserve old API, unfortunately } diff --git a/container-search/src/test/java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java index 9e2b70eab03..780f350dffa 100644 --- a/container-search/src/test/java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/query/test/QueryCanonicalizerTestCase.java @@ -499,7 +499,7 @@ public class QueryCanonicalizerTestCase { assertNull(QueryCanonicalizer.canonicalize(query)); query.properties().set("maxQueryItems", 2); - assertEquals("Query tree exceeds allowed item count. Configured item limit: 2", QueryCanonicalizer.canonicalize(query)); + assertEquals("Query tree exceeds allowed item count. Configured limit: 2 - Item count: 3", QueryCanonicalizer.canonicalize(query)); } private void assertCanonicalized(String canonicalForm, String expectedError, Item root) { -- cgit v1.2.3