[ 
https://issues.apache.org/jira/browse/SOLR-2005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13008689#comment-13008689
 ] 

Anton Kokarski commented on SOLR-2005:
--------------------------------------

Should this be fixed on server or client side?

1) NPE check can be made in QueryResponse.setResponse() method 
 else if( "facet_counts".equals( n ) ) {
        _facetInfo = (NamedList<Object>) res.getVal( i );
        if (_facetInfo != null)
                extractFacetInfo( _facetInfo );

2) Or not add null facet_counts in MoreLikeThisHandler.handleRequestBody()
if( mltDocs.docSet == null ) {
//        rsp.add( "facet_counts", null );
}

Thanks,
Anton

> NullPointerException for more like this request handler via SolrJ if the 
> document does not exist
> ------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-2005
>                 URL: https://issues.apache.org/jira/browse/SOLR-2005
>             Project: Solr
>          Issue Type: Bug
>          Components: clients - java, MoreLikeThis
>    Affects Versions: 1.4
>         Environment: jdk1.6
>            Reporter: Peter Karich
>            Priority: Minor
>   Original Estimate: 20m
>  Remaining Estimate: 20m
>
> If I query solr with the following (via SolrJ):
> q=myUniqueKey%3AsomeValueWhichDoesNotExist&qt=%2Fmlt&mlt.fl=myMLTField&mlt.minwl=2&mlt.mindf=1&mlt.match.include=false&facet=true&facet.sort=count&facet.mincount=1&facet.limit=10&facet.field=differentFacetField&start=0&rows=10
> I get:
> org.apache.solr.client.solrj.SolrServerException: Error executing query
>         at 
> org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:95)
>         at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:118)
> Caused by: java.lang.NullPointerException
>         at 
> org.apache.solr.client.solrj.response.QueryResponse.extractFacetInfo(QueryResponse.java:180)
>         at 
> org.apache.solr.client.solrj.response.QueryResponse.setResponse(QueryResponse.java:103)
>         at 
> org.apache.solr.client.solrj.response.QueryResponse.<init>(QueryResponse.java:80)
>         at 
> org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89)
> The xml response of the url is empty and so the info variable at line
> NamedList<Integer> fq = (NamedList<Integer>) info.get( "facet_queries" );
> (QueryResponse) is null. Maybe all variables at QueryResponse.setResponse 
> should be checked against null? Sth. like
> val = res.getVal( i );
> if(val == null) continue; 
> ?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to