Description
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.
Attachments
Issue Links
- contains
-
SOLR-14320 TestSQLHandler failures
- Resolved
- is related to
-
SOLR-14452 "classloading deadlock" issue with DocSet/SortedIntDocSet
- Resolved
-
SOLR-14267 complete <query><HashDocSet> solrconfig.xml removal
- Closed
- is required by
-
SOLR-14185 add DocSet.getDocIdSetIterator(LeafReaderContext)
- Closed
- links to