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