Elran Dvir created SOLR-5690:
--------------------------------
Summary: Null pointerException in AbstractStatsValues.accumulate
Key: SOLR-5690
URL: https://issues.apache.org/jira/browse/SOLR-5690
Project: Solr
Issue Type: Bug
Affects Versions: 5.0, 4.7
Reporter: Elran Dvir
Priority: Minor
It happens when there is a string field with docValues="true" and default="".
Then, with documents that have empty string value in the field,
values.exists(docID) is true but values.strVal(docID) is null, and it throws
null pointer exception when trying to add the value to distinctValues set.
the solr query is stats=true&stats.field=X&stats.calcdistinct=true
stack trace:
java.lang.NullPointerException at java.util.TreeMap.put(TreeMap.java:567) at
java.util.TreeSet.add(TreeSet.java:266) at
org.apache.solr.handler.component.AbstractStatsValues.accumulate(StatsValuesFactory.java:164)
at
org.apache.solr.handler.component.StringStatsValues.accumulate(StatsValuesFactory.java:535)
at
org.apache.solr.handler.component.SimpleStats.getFieldCacheStats(StatsComponent.java:274)
at
org.apache.solr.handler.component.SimpleStats.getStatsFields(StatsComponent.java:225)
at
org.apache.solr.handler.component.SimpleStats.getStatsCounts(StatsComponent.java:200)
at
org.apache.solr.handler.component.StatsComponent.process(StatsComponent.java:68)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:208)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1904) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:659)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:362)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:158)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370) at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:804)
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]