[ 
https://issues.apache.org/jira/browse/SOLR-8295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hoss Man updated SOLR-8295:
---------------------------
    Description: When collapsing on a field that doesn't exist for all 
documents, the existence of a segment that does not contain any documents that 
have a value can cause an NPE as the collapse parser assumes the DocValues for 
a segment will always be non-null.  (was: From 
https://builds.apache.org/job/Lucene-Solr-Tests-trunk-Java8/629/ - reproduces 
for me:
{noformat}
   [junit4]   2> NOTE: reproduce with: ant test  
-Dtestcase=TestRandomCollapseQParserPlugin 
-Dtests.method=testRandomCollpaseWithSort -Dtests.seed=EB40CE4410753BB 
-Dtests.multiplier=2 -Dtests.slow=true -Dtests.locale=es_PY 
-Dtests.timezone=Asia/Oral -Dtests.asserts=true -Dtests.file.encoding=US-ASCII
   [junit4] ERROR   11.7s J2 | 
TestRandomCollapseQParserPlugin.testRandomCollpaseWithSort <<<
   [junit4]    > Throwable #1: 
org.apache.solr.client.solrj.SolrServerException: 
org.apache.solr.client.solrj.SolrServerException: java.lang.NullPointerException
   [junit4]    >        at 
__randomizedtesting.SeedInfo.seed([EB40CE4410753BB:B097F2D6AAF6048]:0)
   [junit4]    >        at 
org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:240)
   [junit4]    >        at 
org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:150)
   [junit4]    >        at 
org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:943)
   [junit4]    >        at 
org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:958)
   [junit4]    >        at 
org.apache.solr.search.TestRandomCollapseQParserPlugin.testRandomCollpaseWithSort(TestRandomCollapseQParserPlugin.java:164)
   [junit4]    >        at java.lang.Thread.run(Thread.java:745)
   [junit4]    > Caused by: org.apache.solr.client.solrj.SolrServerException: 
java.lang.NullPointerException
   [junit4]    >        at 
org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.checkForExceptions(EmbeddedSolrServer.java:252)
   [junit4]    >        at 
org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:180)
   [junit4]    >        ... 43 more
   [junit4]    > Caused by: java.lang.NullPointerException
   [junit4]    >        at 
org.apache.solr.search.CollapsingQParserPlugin$IntFieldValueCollector.collect(CollapsingQParserPlugin.java:1109)
   [junit4]    >        at 
org.apache.lucene.search.MatchAllDocsQuery$1$1.score(MatchAllDocsQuery.java:56)
   [junit4]    >        at 
org.apache.lucene.search.BulkScorer.score(BulkScorer.java:39)
   [junit4]    >        at 
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:670)
   [junit4]    >        at 
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:474)
   [junit4]    >        at 
org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:203)
   [junit4]    >        at 
org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1692)
   [junit4]    >        at 
org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1508)
   [junit4]    >        at 
org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:562)
   [junit4]    >        at 
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:519)
   [junit4]    >        at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:276)
   [junit4]    >        at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:151)
   [junit4]    >        at 
org.apache.solr.core.SolrCore.execute(SolrCore.java:2079)
   [junit4]    >        at 
org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:179)
   [junit4]    >        ... 43 more
{noformat})
        Summary: collapse parser can trigger NPE when a segment has empty 
DocValues for collapse field (ie: no doc in segment has a value)  (was: 
TestRandomCollapseQParserPlugin.testRandomCollapseWithSort() NPE)

Updated summary & description to clarify root cause.  
The underlying bug predates SOLR-6168, (i think it has been arround for as long 
as the collapse parser has existed?) but was uncovered due to random testing 
added by that issue.

Initial report...

{panel}
>From https://builds.apache.org/job/Lucene-Solr-Tests-trunk-Java8/629/ - 
>reproduces for me:
{noformat}
   [junit4]   2> NOTE: reproduce with: ant test  
-Dtestcase=TestRandomCollapseQParserPlugin 
-Dtests.method=testRandomCollpaseWithSort -Dtests.seed=EB40CE4410753BB 
-Dtests.multiplier=2 -Dtests.slow=true -Dtests.locale=es_PY 
-Dtests.timezone=Asia/Oral -Dtests.asserts=true -Dtests.file.encoding=US-ASCII
   [junit4] ERROR   11.7s J2 | 
TestRandomCollapseQParserPlugin.testRandomCollpaseWithSort <<<
   [junit4]    > Throwable #1: 
org.apache.solr.client.solrj.SolrServerException: 
org.apache.solr.client.solrj.SolrServerException: java.lang.NullPointerException
   [junit4]    >        at 
__randomizedtesting.SeedInfo.seed([EB40CE4410753BB:B097F2D6AAF6048]:0)
   [junit4]    >        at 
org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:240)
   [junit4]    >        at 
org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:150)
   [junit4]    >        at 
org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:943)
   [junit4]    >        at 
org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:958)
   [junit4]    >        at 
org.apache.solr.search.TestRandomCollapseQParserPlugin.testRandomCollpaseWithSort(TestRandomCollapseQParserPlugin.java:164)
   [junit4]    >        at java.lang.Thread.run(Thread.java:745)
   [junit4]    > Caused by: org.apache.solr.client.solrj.SolrServerException: 
java.lang.NullPointerException
   [junit4]    >        at 
org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.checkForExceptions(EmbeddedSolrServer.java:252)
   [junit4]    >        at 
org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:180)
   [junit4]    >        ... 43 more
   [junit4]    > Caused by: java.lang.NullPointerException
   [junit4]    >        at 
org.apache.solr.search.CollapsingQParserPlugin$IntFieldValueCollector.collect(CollapsingQParserPlugin.java:1109)
   [junit4]    >        at 
org.apache.lucene.search.MatchAllDocsQuery$1$1.score(MatchAllDocsQuery.java:56)
   [junit4]    >        at 
org.apache.lucene.search.BulkScorer.score(BulkScorer.java:39)
   [junit4]    >        at 
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:670)
   [junit4]    >        at 
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:474)
   [junit4]    >        at 
org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:203)
   [junit4]    >        at 
org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1692)
   [junit4]    >        at 
org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1508)
   [junit4]    >        at 
org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:562)
   [junit4]    >        at 
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:519)
   [junit4]    >        at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:276)
   [junit4]    >        at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:151)
   [junit4]    >        at 
org.apache.solr.core.SolrCore.execute(SolrCore.java:2079)
   [junit4]    >        at 
org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:179)
   [junit4]    >        ... 43 more
{noformat}
{panel}


> collapse parser can trigger NPE when a segment has empty DocValues for 
> collapse field (ie: no doc in segment has a value)
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-8295
>                 URL: https://issues.apache.org/jira/browse/SOLR-8295
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Steve Rowe
>            Assignee: Hoss Man
>
> When collapsing on a field that doesn't exist for all documents, the 
> existence of a segment that does not contain any documents that have a value 
> can cause an NPE as the collapse parser assumes the DocValues for a segment 
> will always be non-null.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to