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