Solr statsCache 实现 LRUStatsCache 抛出 NullPointerException
Solr statsCache implementation LRUStatsCache throws NullPointerException
我在使用 JIRA 中的 Solr statsCache feature. Here is the feature request 时遇到了很多问题。我正在使用一个包含两个分片和两个复制因子的集合。
在 solrconfig.xml
中,我添加了以下 statsCache 实现:
<statsCache class="org.apache.solr.search.stats.LRUStatsCache"/>
我必须使用 statsCache 功能,因为基本分片中的文档比编辑分片中的多。但是分数必须是全局的。
当我查询启动分数计算的内容时,我得到 有时而不是确定性 以下异常:
java.lang.NullPointerException
at org.apache.solr.search.stats.LRUStatsCache.getPerShardTermStats(LRUStatsCache.java:122)
at org.apache.solr.search.stats.ExactStatsCache.sendGlobalStats(ExactStatsCache.java:237)
at org.apache.solr.handler.component.QueryComponent.createMainQuery(QueryComponent.java:922)
at org.apache.solr.handler.component.QueryComponent.regularDistributedProcess(QueryComponent.java:713)
at org.apache.solr.handler.component.QueryComponent.distributedProcess(QueryComponent.java:666)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:305)
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.run(AbstractConnection.java:540)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at org.eclipse.jetty.util.thread.QueuedThreadPool.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:722)
请求 q=*:*
每次都工作正常。但是 q=SomeTerm
有时会导致 NullPointerException
.
我尝试了所有 statsCache 实现。
我无法检测到问题。有人可以帮我解决这个问题吗?
如果您需要更多信息,请发表评论。
我在 Twitter 上与 @ApacheSolr 分享了这个问题。这是应该在 8 月第一周发布的 Solr 5.3 中修复的错误。
对话如下:
Solr statsCache implementation LRUStatsCache throws
NullPointerException http://t.co/dLT7aygoye /cc @ApacheSolr
(Link)
@tim_krueger we're aware of the bug. Should be fixed in the next
release 5.3. See https://t.co/kt7QredwKr
(Link)
@ApacheSolr Thanks for the answer. Is there a known release date for
5.3?
(Link)
@tim_krueger can't say for sure but typically releases happen every
30-40 days so we can expect one around 1st week of August.
(Link)
我在使用 JIRA 中的 Solr statsCache feature. Here is the feature request 时遇到了很多问题。我正在使用一个包含两个分片和两个复制因子的集合。
在 solrconfig.xml
中,我添加了以下 statsCache 实现:
<statsCache class="org.apache.solr.search.stats.LRUStatsCache"/>
我必须使用 statsCache 功能,因为基本分片中的文档比编辑分片中的多。但是分数必须是全局的。
当我查询启动分数计算的内容时,我得到 有时而不是确定性 以下异常:
java.lang.NullPointerException
at org.apache.solr.search.stats.LRUStatsCache.getPerShardTermStats(LRUStatsCache.java:122)
at org.apache.solr.search.stats.ExactStatsCache.sendGlobalStats(ExactStatsCache.java:237)
at org.apache.solr.handler.component.QueryComponent.createMainQuery(QueryComponent.java:922)
at org.apache.solr.handler.component.QueryComponent.regularDistributedProcess(QueryComponent.java:713)
at org.apache.solr.handler.component.QueryComponent.distributedProcess(QueryComponent.java:666)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:305)
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.run(AbstractConnection.java:540)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at org.eclipse.jetty.util.thread.QueuedThreadPool.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:722)
请求 q=*:*
每次都工作正常。但是 q=SomeTerm
有时会导致 NullPointerException
.
我尝试了所有 statsCache 实现。
我无法检测到问题。有人可以帮我解决这个问题吗?
如果您需要更多信息,请发表评论。
我在 Twitter 上与 @ApacheSolr 分享了这个问题。这是应该在 8 月第一周发布的 Solr 5.3 中修复的错误。
对话如下:
Solr statsCache implementation LRUStatsCache throws NullPointerException http://t.co/dLT7aygoye /cc @ApacheSolr (Link)
@tim_krueger we're aware of the bug. Should be fixed in the next release 5.3. See https://t.co/kt7QredwKr (Link)
@ApacheSolr Thanks for the answer. Is there a known release date for 5.3? (Link)
@tim_krueger can't say for sure but typically releases happen every 30-40 days so we can expect one around 1st week of August. (Link)