Can you share the stack trace? Also in the Solr log there will be a call to the /export handler. Can you get that from the log?
Then we can isolate the call to the export handler and see if we can reproduce it. Joel Bernstein http://joelsolr.blogspot.com/ On Thu, Sep 29, 2022 at 3:01 PM Mikhail Khludnev <m...@apache.org> wrote: > Hi, Sean. > It's not clear if it can be reproduced with bare solr dstro install, > indexing a few docs and querying it; or it's something about > hacking/customising it as a library? > > On Thu, Sep 29, 2022 at 7:42 PM Sean Wu <shouy...@gmail.com> wrote: > > > Hi, Solr team. > > > > I'm using Solr 9.0.0 and when I query with Cross Collection Join on > > our own data. There is a NullPointer Exception. > > > > Error line: > > > solr-9.0.0/solr/core/src/java/org/apache/solr/handler/export/ExportWriter.java#803 > > > > DocIdSetIterator it = new BitSetIterator(bits, 0); > > > > It seems like 'bits' is null and the constructor of BitSetIterator > > throws a NullPointer Exception. > > > > > > With deeper debugging, I found that the code assumes that the length > > of 'sets'(bits) and 'leaves' are equal(As shown by code below). > > However in my test, the last few elements of 'sets' could be null, > > which caused a NullPointer Exception. > > > > sets = (FixedBitSet[]) req.getContext().get("export"); > > > > List<LeafReaderContext> leaves = > > req.getSearcher().getTopReaderContext().leaves(); > > > > SegmentIterator[] segmentIterators = new SegmentIterator[leaves.size()]; > > for (int i = 0; i < segmentIterators.length; i++) { > > SortQueue sortQueue = new SortQueue(sizes[i], sortDoc.copy()); > > segmentIterators[i] = > > new SegmentIterator(bits[i], leaves.get(i), sortQueue, > > sortDoc.copy()); > > } > > > > > > Then I tried to skip creating a BitSetIterator object if bits == null, > > and it worked as expected. The query results were returned without > > data missing. > > > > But I still don't know if the Exception is expected or it is a bug. > > Hope to get your response, thanks a lot! > > > > > -- > Sincerely yours > Mikhail Khludnev >