[ 
https://issues.apache.org/jira/browse/LUCENE-6984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alan Woodward updated LUCENE-6984:
----------------------------------
    Attachment: LUCENE-6984.patch

Here's a patch that changes SpanMTQWrapper to have its own RewriteMethod, and 
to use that for rewriting rather than delegating down to the wrapped query.

I'll open a separate issue to make MTQ and SpanMTQWrapper immutable in trunk.

> MultiTermQuery mutability can cause assertion failures in BooleanQuery
> ----------------------------------------------------------------------
>
>                 Key: LUCENE-6984
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6984
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Alan Woodward
>         Attachments: LUCENE-6984.patch
>
>
> BooleanQuery caches its hashcode on the grounds that it is immutable.  
> However, this immutability doesn't hold if some of its clauses hold queries 
> that are not themselves immutable - for example, a MultiTermQuery with a 
> changeable rewrite method.  If one of these clauses is mutated after the 
> hashcode has been calculated, then the next time the parent BooleanQuery is 
> used the assertion in BooleanQuery.hashCode() will fail.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to