You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Greg Harris (JIRA)" <ji...@apache.org> on 2014/04/29 02:26:19 UTC

[jira] [Created] (SOLR-6029) CollapsingQParserPlugin throws ArrayIndexOutOfBoundsException if elevated doc has been deleted from a segment

Greg Harris created SOLR-6029:
---------------------------------

             Summary: CollapsingQParserPlugin throws ArrayIndexOutOfBoundsException if elevated doc has been deleted from a segment
                 Key: SOLR-6029
                 URL: https://issues.apache.org/jira/browse/SOLR-6029
             Project: Solr
          Issue Type: Bug
          Components: query parsers
    Affects Versions: 4.7.1
            Reporter: Greg Harris
            Priority: Minor
         Attachments: SOLR-6029.patch

CollapsingQParserPlugin misidentifies if a document is not found in a segment if the docid previously existed in a segment ie.... was deleted. 

Relevant code bit from CollapsingQParserPlugin needs to be changed from:
-if(doc != -1) {
+if((doc != -1) && (doc != DocsEnum.NO_MORE_DOCS)) {

What happens is if the doc is not found the returned value is DocsEnum.NO_MORE_DOCS. This would then get set in the fq bitSet array as the doc location causing an ArrayIndexOutOfBoundsException as the array is only as big as maxDocs. 




--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org