[ 
https://issues.apache.org/jira/browse/LUCENE-6321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14347109#comment-14347109
 ] 

Robert Muir commented on LUCENE-6321:
-------------------------------------

OK, i see it. Thats because TermQuery is more immutable, and those queries are 
mutable. I agree this is not good and I'm glad you are looking into it, it is 
not the fault of any new code, just things unraveled by tests.

But my concern here, we exclude filter here from clone, and the same problems 
can happen "behind it". 

I wonder which queries are impacted by this mutability issue and how hard it 
would be to just make them all immutable. To me this is the best way to prevent 
these kinds of problems.

> Make oal.index.Term more defensive
> ----------------------------------
>
>                 Key: LUCENE-6321
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6321
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Adrien Grand
>            Assignee: Adrien Grand
>            Priority: Minor
>         Attachments: LUCENE-6321.patch, LUCENE-6321.patch
>
>
> oal.index.Term has a Term(String field, BytesRef termBytes) constructor. Even 
> though it warns that the term bytes should not be reused, I'm wondering that 
> we should make it more defensive.
> {noformat}
>    * <p>WARNING: the provided BytesRef is not copied, but used directly.
>    * Therefore the bytes should not be modified after construction, for
>    * example, you should clone a copy by {@link BytesRef#deepCopyOf}
>    * rather than pass reused bytes from a TermsEnum.
> {noformat} 
> For example if you have term queries in your query cache and they are 
> modified in-place, it would have very bad consequences and would be hard to 
> diagnose.



--
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