You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "David Smiley (Jira)" <ji...@apache.org> on 2020/03/17 20:27:00 UTC
[jira] [Reopened] (SOLR-14256) Remove HashDocSet
[ https://issues.apache.org/jira/browse/SOLR-14256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Smiley reopened SOLR-14256:
---------------------------------
I believe this change has caused sporadic test failures relating to class loading race conditions. An example is this thread:
{code:java}
at app//org.apache.solr.search.DocSet.<clinit>(DocSet.java:118)
at app//org.apache.solr.search.DocSetUtil.createDocSet(DocSetUtil.java:183)
at app//org.apache.solr.search.DocSetUtil.createDocSet(DocSetUtil.java:131)
at app//org.apache.solr.search.SolrIndexSearcher.getDocSetNC(SolrIndexSearcher.java:1194)
{code}
And this thread
{code:java}
at app//org.apache.solr.search.DocSetUtil.createSmallSet(DocSetUtil.java:211)
at app//org.apache.solr.search.DocSetUtil.createDocSet(DocSetUtil.java:185)
at app//org.apache.solr.search.DocSetUtil.createDocSet(DocSetUtil.java:131)
{code}
The threads are hanging. I'm investigating.
> Remove HashDocSet
> -----------------
>
> Key: SOLR-14256
> URL: https://issues.apache.org/jira/browse/SOLR-14256
> Project: Solr
> Issue Type: Task
> Security Level: Public(Default Security Level. Issues are Public)
> Components: search
> Reporter: David Smiley
> Assignee: David Smiley
> Priority: Major
> Fix For: master (9.0)
>
>
> This particular DocSet is only used in places where we need to convert SortedIntDocSet in particular to a DocSet that is fast for random access. Once such a conversion happens, it's only used to test some docs for presence and it could be another interface. DocSet has kind of a large-ish API surface area to implement. Since we only need to test docs, we could use Bits interface (having only 2 methods) backed by an off-the-shelf primitive long hash set on our classpath. Perhaps a new method on DocSet: getBits() or DocSetUtil.getBits(DocSet).
> In addition to removing complexity unto itself, this improvement is required by SOLR-14185 because it wants to be able to produce a DocIdSetIterator slice directly from the DocSet but HashDocSet can't do that without sorting first.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org