Hi, we are running Solr 7.3 in cloud mode. Last time I noticed we have a lot of errors in our log like below:
null:java.lang.IllegalArgumentException: docID must be >= 0 and < maxDoc=2757277 (got docID=2764367) at org.apache.lucene.index.BaseCompositeReader.readerIndex(BaseCompositeReader.java:190) at org.apache.lucene.index.BaseCompositeReader.document(BaseCompositeReader.java:117) at org.apache.solr.search.SolrDocumentFetcher.doc(SolrDocumentFetcher.java:220) at org.apache.solr.response.DocsStreamer.next(DocsStreamer.java:98) at org.apache.solr.response.DocsStreamer.next(DocsStreamer.java:57) at c.d.m.i.ProfileResponseWriter.toSolrDocumentList(SolrConverter.java:25) at c.d.m.i.ProfileResponseWriter.write(ProfileResponseWriter.java:197) at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65) at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:789) at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:526) ... ProfileResponseWriter code: import org.apache.solr.response.QueryResponseWriter;import org.apache.solr.response.ResultContext;import org.apache.solr.response.SolrQueryResponse; class ProfileResponseWriterBase implements QueryResponseWriter { @Override public void write(Writer writer, SolrQueryRequest request, SolrQueryResponse response) { ... SolrDocumentList resp = prepareResp(response, objectWriter, writer); ... } private SolrDocumentList prepareResp(SolrQueryResponse response, ObjectWriter objectWriter, Writer writer) { ... Object resultContext = response.getValues().get("response"); if (resultContext instanceof ResultContext) { ResultContext context = ((ResultContext) resultContext); return toSolrDocumentList(request, context); } ... } private SolrDocumentList toSolrDocumentList(ResultContext resultContext) { Iterator<SolrDocument> docIterators = resultContext.getProcessedDocuments(); SolrDocumentList list = new SolrDocumentList(); list.setNumFound(resultContext.getDocList().matches()); list.setMaxScore(resultContext.getDocList().maxScore()); list.setStart(resultContext.getDocList().offset()); while (docIterators.hasNext()) { SolrDocument solrDocument = docIterators.next(); //exception appears here list.add(solrDocument); } return list; } Could somebody help me to figure out how can I resolve this issue? Is that a Solr issue, or we have implemented response writer incorrectly? -- Best regards, Yauheni