Hello,

I’m receiving a HTTP 500 response with a NullPointerException when trying a 
facet.pivot query. This is only happening in my dev environment after indexing 
some new data.


"params": {
            "q": "description_narrative:\"COVID\"",
            "facet.pivot": "reporting_org_ref,recipient_country_code",
            "fl": "iati_identifier reporting_org_ref recipient_country_code",
            "rows": "0",
            "facet": "true"
}


java.lang.NullPointerException
     java.base/java.util.concurrent.ConcurrentHashMap.get(Unknown Source)
     
com.github.benmanes.caffeine.cache.BoundedLocalCache.getIfPresent(BoundedLocalCache.java:1920)
     
com.github.benmanes.caffeine.cache.LocalAsyncCache$AbstractCacheView.getIfPresent(LocalAsyncCache.java:471)
     org.apache.solr.search.CaffeineCache.get(CaffeineCache.java:202)
     
org.apache.solr.search.SolrIndexSearcher.getDocSet(SolrIndexSearcher.java:1229)
     
org.apache.solr.handler.component.PivotFacetProcessor.getSubset(PivotFacetProcessor.java:374)
     
org.apache.solr.handler.component.PivotFacetProcessor.doPivots(PivotFacetProcessor.java:304)
     
org.apache.solr.handler.component.PivotFacetProcessor.doPivots(PivotFacetProcessor.java:321)
     
org.apache.solr.handler.component.PivotFacetProcessor.processSingle(PivotFacetProcessor.java:227)
     
org.apache.solr.handler.component.PivotFacetProcessor.process(PivotFacetProcessor.java:169)
     
org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:280)
     
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:368)
     
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:216)
     org.apache.solr.core.SolrCore.execute(SolrCore.java:2637)
     org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:794)
     org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:567)
     
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:427)
     
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:357)
     org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201)
     
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
     org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
     
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
     org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)
     
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
     
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
     
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
     
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
     
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
     
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
     org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
     
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
     
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
     
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
     
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
     
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
     
org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:177)
     
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
     
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
     
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)
     
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:763)
     
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
     org.eclipse.jetty.server.Server.handle(Server.java:516)
    org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:400)
     org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:645)
     org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:392)
     org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
     
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
     org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
     
org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555)
     org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410)
     org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164)
     org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
     org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
     
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
     
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
     
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
     
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
     
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
     
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
     
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
     java.base/java.lang.Thread.run(Unknown Source)


<field name="reporting_org_ref" type="text_gen_sort" multiValued="false" 
indexed="true" required="false" stored="true"  />
<field name="recipient_country_code" type="text_gen_sort" multiValued="true" 
indexed="true" required="false" stored="true"  />


In production I get a successful response:

    "facet_counts": {
        "facet_queries": {},
        "facet_fields": {},
        "facet_ranges": {},
        "facet_intervals": {},
        "facet_heatmaps": {},
        "facet_pivot": {
            "reporting_org_ref,recipient_country_code": [
                {
                    "field": "reporting_org_ref",
                    "value": "SE-0",
                    "count": 3081,
                    "pivot": [
                        {
                            "field": "recipient_country_code",
                            "value": "KE",
                            "count": 105
                        },
                        {
                            "field": "recipient_country_code",
                            "value": "BD",
                            "count": 102
                        }, …


I’m thinking this may be a bug as I’d expect not to be able to index the data 
that would cause a 500 error for a query.

Thanks,
-Nik

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

Reply via email to