You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Yonik Seeley (JIRA)" <ji...@apache.org> on 2015/08/06 18:01:04 UTC

[jira] [Comment Edited] (SOLR-7879) Null pointer exception when

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

Yonik Seeley edited comment on SOLR-7879 at 8/6/15 4:00 PM:
------------------------------------------------------------

Actually, I think it has something to do with the result set, this is the code:

{code}
        SolrQuery solrQuery = new SolrQuery();
        filterContains = filterContains.toLowerCase();
        String filterQueryStr = "field1:*" + filterContains + "* OR "
        + " field2:*" + filterContains + "* OR "
        + " field3:*" + filterContains + "* OR "
        + " field4:*" + filterContains + "*";
        solrQuery.setQuery( filterQueryStr );
                
        solrQuery.setRows( 0 );
        String filterStr = "field5:[ " + timeFrom + " TO " + timeTo + " ] " +
            " AND field6:(" + StringUtils.arrayToDelimitedString( values, " OR " ) + ")";

        solrQuery.setFilterQueries( filterStr );

        solrQuery.add( "json.facet", "\n{" +
        "\n    target: {" +
        "\n        type: terms," +
        "\n        field: targetId," +
        "\n        sort: {" + sortCol + ": " + sortDesc + "}," +
        "\n        offset: " + offset + "," +
        "\n        limit: " + limit + "," +
        "\n        facet: {" +
        "\n            avg_f1: \"avg(field1)\"," +
        "\n            avg_f2: \"avg(field2)\"," +
        "\n            uniq_f3: \"unique(field3)\"" +
        "\n            sub_facet: {\n" +
        "\n                type: terms,\n" +
        "\n                field: field5,\n" +
        "\n                limit: 1,\n" +
        "\n                sort: {field3:desc}\n" +
        "\n            }\n" +
        "\n        }\n" +
        "\n    },\n" +
        "\n    total: {" +
        "\n        type: query," +
        "\n        q: \"*:*\"," +
        "\n        facet: {" +
        "\n            uniq_id: \"unique(targetId)\"" +
        "\n        }" +
        "\n    }" +
        "\n}"
        );
{code}


when changing the filterContains string, this sometimes works, nullPointerException only happens on a certain query/filter criterias.

please let me know what else I can do.

thanks.


was (Author: flashflexpro):
Actually, I think it has something to do with the result set, this is the code:


        SolrQuery solrQuery = new SolrQuery();
        filterContains = filterContains.toLowerCase();
        String filterQueryStr = "field1:*" + filterContains + "* OR "
        + " field2:*" + filterContains + "* OR "
        + " field3:*" + filterContains + "* OR "
        + " field4:*" + filterContains + "*";
        solrQuery.setQuery( filterQueryStr );
                
        solrQuery.setRows( 0 );
        String filterStr = "field5:[ " + timeFrom + " TO " + timeTo + " ] " +
            " AND field6:(" + StringUtils.arrayToDelimitedString( values, " OR " ) + ")";

        solrQuery.setFilterQueries( filterStr );

        solrQuery.add( "json.facet", "\n{" +
        "\n    target: {" +
        "\n        type: terms," +
        "\n        field: targetId," +
        "\n        sort: {" + sortCol + ": " + sortDesc + "}," +
        "\n        offset: " + offset + "," +
        "\n        limit: " + limit + "," +
        "\n        facet: {" +
        "\n            avg_f1: \"avg(field1)\"," +
        "\n            avg_f2: \"avg(field2)\"," +
        "\n            uniq_f3: \"unique(field3)\"" +
        "\n            sub_facet: {\n" +
        "\n                type: terms,\n" +
        "\n                field: field5,\n" +
        "\n                limit: 1,\n" +
        "\n                sort: {field3:desc}\n" +
        "\n            }\n" +
        "\n        }\n" +
        "\n    },\n" +
        "\n    total: {" +
        "\n        type: query," +
        "\n        q: \"*:*\"," +
        "\n        facet: {" +
        "\n            uniq_id: \"unique(targetId)\"" +
        "\n        }" +
        "\n    }" +
        "\n}"
        );



when changing the filterContains string, this sometimes works, nullPointerException only happens on a certain query/filter criterias.

please let me know what else I can do.

thanks.

> Null pointer exception when 
> ----------------------------
>
>                 Key: SOLR-7879
>                 URL: https://issues.apache.org/jira/browse/SOLR-7879
>             Project: Solr
>          Issue Type: Bug
>          Components: Facet Module, search
>    Affects Versions: 5.2.1
>         Environment: Oracle jdk1.8
>            Reporter: Gary Yang
>              Labels: faceting, jsonapi, subfacet
>
> This can be reproduce by certain inputs, but I can't find a pattern in the inputs that cause this error:
> Caused by: org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://192.168.1.47:8983/solr/core1: java.lang.NullPointerException
> 	at org.apache.solr.search.facet.FacetFieldProcessorFCBase.findTopSlots(FacetField.java:301)
> 	at org.apache.solr.search.facet.FacetFieldProcessorFCBase.getFieldCacheCounts(FacetField.java:254)
> 	at org.apache.solr.search.facet.FacetFieldProcessorFCBase.process(FacetField.java:218)
> 	at org.apache.solr.search.facet.FacetProcessor.processSubs(FacetRequest.java:267)
> 	at org.apache.solr.search.facet.FacetFieldProcessorNumeric.calcFacets(FacetFieldProcessorNumeric.java:472)
> 	at org.apache.solr.search.facet.FacetFieldProcessorNumeric.process(FacetFieldProcessorNumeric.java:151)
> 	at org.apache.solr.search.facet.FacetProcessor.processSubs(FacetRequest.java:267)
> 	at org.apache.solr.search.facet.FacetProcessor.fillBucket(FacetRequest.java:354)
> 	at org.apache.solr.search.facet.FacetQueryProcessor.process(FacetQuery.java:57)
> 	at org.apache.solr.search.facet.FacetModule.process(FacetModule.java:87)
> 	at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:255)
> 	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143)
> 	at org.apache.solr.core.SolrCore.execute(SolrCore.java:2064)
> 	at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:654)
> 	at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:450)
> 	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:227)
> 	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:196)
> 	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
> 	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
> 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
> 	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
> 	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
> 	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
> 	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
> 	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
> 	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
> 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> 	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
> 	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
> 	at org.eclipse.jetty.server.Server.handle(Server.java:497)
> 	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
> 	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
> 	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
> 	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
> 	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
> 	at java.lang.Thread.run(Thread.java:745)



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

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