Hello solr devs.  I've been testing out 10.1 rc1 as I've been eagerly awaiting 
the RRF feature.  I did end up finding a bug that results in a 500 error.  I'm 
not familliar with the solr internals, so I asked the LLM to write up the 
following report and attached reproduction.

I hope this is helpful. If you need any other details, please let me know.

-Justin


=begin LLM generated

  ▎ Solr 10.1.0 (also seen on a 1-shard SolrCloud collection). A combined query 
with facet.field on a multi-valued docValues field fails with:
  ▎
  ▎ SolrException: Exception during facet.field: color_ss
  ▎ Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 31 out of bounds 
for length 5
  ▎   at o.a.lucene.util.FixedBitSet.nextSetBitInRange(FixedBitSet.java:355)
  ▎   at o.a.lucene.util.FixedBitSet.nextSetBit(FixedBitSet.java:335)
  ▎   at o.a.solr.search.BitDocSet$2.nextDoc(BitDocSet.java:292)
  ▎   at 
o.a.solr.request.DocValuesFacets.accumMultiSeg(DocValuesFacets.java:463)
  ▎
  ▎ Cause: QueryAndResponseCombiner.simpleCombine unions the sub-query DocSets. 
When they are SortedIntDocSets, SortedIntDocSet.union() sizes the new 
FixedBitSet
  ▎ from getLength() (largest doc id + 1) rather than maxDoc. 
BitDocSet.iterator(LeafReaderContext) assumes the bitset covers every segment 
and calls
  ▎ bits.nextSetBit(base) for later segments, which indexes past the array.
  ▎
  ▎ Reproduce: stock _default configset with /hybrid + combined_query 
registered. Segment 0 has 2,000 docs, 3 of which match both sub-queries. 
Segment 1 has 5,000
  ▎ non-matching docs. Every doc has two values in color_ss. Faceting on 
color_ss throws the exception above. The same request with facet=false, or the 
equivalent
  ▎ /select query with facets, works. Script attached.

Attachment: solr-combined-facet-aioobe.sh
Description: solr-combined-facet-aioobe.sh

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to