[
https://issues.apache.org/jira/browse/SOLR-17190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Gibney updated SOLR-17190:
----------------------------------
Description:
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.
The 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}}.
was:
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}}.
> 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: main (10.0), 9.5.0
> Reporter: Michael Gibney
> Assignee: Michael Gibney
> Priority: Minor
>
> 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.
> The 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]