Michael Gibney created SOLR-17190:
-------------------------------------
Summary: Replace org.apache.solr.util.LongSet with hppc LongHashSet
Key: SOLR-17190
URL: https://issues.apache.org/jira/browse/SOLR-17190
Project: Solr
Issue Type: Improvement
Security Level: Public (Default Security Level. Issues are Public)
Affects Versions: 9.5.0, main (10.0)
Reporter: Michael Gibney
Assignee: Michael Gibney
The functionality provided by {{org.apache.solr.util.LongSet}} is redundant to
that provided by {{com.carrotsearch.hppc.LongHashSet}}. Since hppc is already a
dependency of solr-core, we should replace usages of
{{org.apache.solr.util.LongSet}} and remove/deprecate it.
This motivation for this is practical as well: the [hash function used by
org.apache.solr.util.LongSet|https://github.com/apache/solr/blob/148abec1a37b89f9bbd1835c239746773b374125/solr/core/src/java/org/apache/solr/util/LongSet.java#L78]
is quite suboptimal for certain common usage patterns (specifically, if the
values stored vary by powers of two (the larger the worse), values end up
disproportionately hashing to the same bucket and you basically have an array
scan for get and put).
This issue proposes to replace usages on {{main}} and {{branch_9x}}, remove
{{org.apache.solr.util.LongSet}} on main, and either remove it or deprecate it
on {{branch_9x}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]