[
https://issues.apache.org/jira/browse/SOLR-875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12650469#action_12650469
]
Michael Busch commented on SOLR-875:
------------------------------------
Note that Yonik recently (August '08) commit this to Lucene's OpenBitSet:
{code}
URL: http://svn.apache.org/viewvc?rev=690302&view=rev
Log:
fix OpenBitSet.hashCode rotate
Modified:
lucene/java/trunk/src/java/org/apache/lucene/util/OpenBitSet.java
Modified: lucene/java/trunk/src/java/org/apache/lucene/util/OpenBitSet.java
URL:
http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/util/OpenBitSet.java?rev=690302&r1=690301&r2=690302&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/util/OpenBitSet.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/util/OpenBitSet.java Fri Aug
29 08:33:44 2008
@@ -763,7 +763,7 @@
long h = 0x98761234; // something non-zero for length==0
for (int i = bits.length; --i>=0;) {
h ^= bits[i];
- h = (h << 1) | (h >>> 31); // rotate left
+ h = (h << 1) | (h >>> 63); // rotate left
}
return (int)((h>>32) ^ h); // fold leftmost bits into right
}
{code}
This fix wasn't committed to Solr yet.
> Consolidate Solr's and Lucene's OpenBitSet classes
> --------------------------------------------------
>
> Key: SOLR-875
> URL: https://issues.apache.org/jira/browse/SOLR-875
> Project: Solr
> Issue Type: Task
> Reporter: Michael Busch
> Priority: Minor
> Attachments: solr-875.patch
>
>
> Currently there are two versions of OpenBitSet and BitUtil in Solr and Lucene.
> We should only have one version of these classes in Lucene, that Solr should
> use.
> Tasks here:
> - Merge different versions into Lucene
> - Make Solr classes use/extend the classes in Lucene (we need to keep the
> Solr ones for backwards-compatibility)
> - Deprecate the classes in Solr
> - Change all references in Solr to use the classes in Lucene
> One difficulty here is Solr's BitSetIterator vs. Lucene's OpenBitSetIterator.
> Both have a next() method, however one returns an int (BitSetIterator), the
> other one returns a boolean and offers a doc() method to get the doc id. So I
> can't make BitSetIterator extend OpenBitSetIterator. There are not many
> places in Solr's core that use BitSetIterator, so we could simply change e.g.
> search/BitDocSet.java to use OpenBitSetIterator. This would however require
> to change the call to next() into two calls to next() and doc(). I wonder if
> this would be a noticeable performance hit?
> We could of course also leave both iterators and only merge OpenBitSet and
> BitUtil, but I'd prefer to only have one iterator, because they basically do
> exactly the same.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.