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

Todd Feak updated LUCENE-1415:
------------------------------

    Attachment: MultiPhraseQuery.java

Attached a copy of what I did to MultiPhraseQuery to fix the issue. This was 
created from the 2.4.0 source code. Implementation of hashCode() and equals() 
uses the Java List implementation  as a base so to achieve what looks like the 
original intent of the comparisons, just taking into account the Term[].

Again, sorry it's not in the correct format. Hope it helps.

> MultiPhraseQuery has incorrect hashCode() implementation - Leads to Solr 
> Cache misses
> -------------------------------------------------------------------------------------
>
>                 Key: LUCENE-1415
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1415
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>    Affects Versions: 2.4
>            Reporter: Todd Feak
>         Attachments: MultiPhraseQuery.java, MultiPhraseQueryTest.java
>
>
> I found this while hunting for the cause of Solr Cache misses.
> The MultiPhraseQuery class hashCode() implementation is non-deterministic. It 
> uses termArrays.hashCode() in the computation. The contents of that ArrayList 
> are actually arrays themselves, which return there reference ID as a hashCode 
> instead of returning a hashCode which is based on the contents of the array. 
> I would suggest an implementation involving the Arrays.hashCode() method.
> I will try to submit a patch soon, off for today.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to