Details
-
Task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
New
Description
Historically, if TooManyClauses was thrown it meant exactly one thing: That a QueryX Builder (typically BooleanQuery, but there are a few others in sandbox) was not going to allow it's caller to add a clause because that QueryX object already had the maxClauseCount in direct children.
LUCENE-8811 added an additional "reason" why TooManyClauses may be thrown starting in 9.0: IndexSearcher may now throw this exception if the (rewritten) Query being executed has a cumulative number of clauses – across the entire structure of nested Query objects – that exceeds the maxClauseCount.
I think it would be helpful to users if it was possible to tell from the TooManyClauses exception how the maxClauseCount was exceeded (because of the total number of direct children during rewrite, or cumulatively across the entire nested structure) w/o needing to inspect the stack frames to see if the thrower a rewrite method, or a QueryVisitor method.
Attachments
Attachments
Issue Links
- is related to
-
SOLR-15429 Solr implications of LUCENE-8811 changes to how (solr.xml's) maxBooleanClauses is now used by IndexSearcher
- Closed