Datastax Enterprise Edition 4.5与solr但获得solr超时

时间:2014-08-01 16:39:32

标签: solr datastax-enterprise

我们刚从DataStax Enteprise 3.2.2升级到4.5.1。我们从3.2.2迁移 - > 3.2.5 - > 4.0.3 - > 4.5.1,每次都遵循文档中的步骤,并在每次升级后升级sstables。

服务器正在运行,核心正在接受查询。

对于某些原因,我们通常使用solr / c * / dse的默认配置连接超时到solr。我们解雇的查询与使用启用了Solr的DSE 3.2.2时触发的查询没有什么不同,我们没有遇到这些问题。

是否有任何因3.2.2变为4.5而影响Solr的连接性?

服务器日志显示:

  

ERROR [http-8983-1] 2014-08-01 19:12:52,087 SolrException.java(第136行)null:org.apache.solr.common.SolrException:超时后无响应:60000           在com.datastax.bdp.search.solr.handler.shard.netty.NettyShardHandler.waitForResponse(NettyShardHandler.java:115)           at com.datastax.bdp.search.solr.handler.shard.netty.NettyShardHandler.takeCompletedOrError(NettyShardHandler.java:89)           at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:297)           at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:137)           在org.apache.solr.core.SolrCore.execute(SolrCore.java:1888)           在org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:723)           在com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.execute(CassandraDispatchFilter.java:185)           在org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:413)           在org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:197)           在com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.doFilter(CassandraDispatchFilter.java:147)           在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)           在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)           在com.datastax.bdp.cassandra.audit.SolrHttpAuditLogFilter.doFilter(SolrHttpAuditLogFilter.java:218)           在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)           在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)           在com.datastax.bdp.search.solr.auth.CassandraAuthorizationFilter.doFilter(CassandraAuthorizationFilter.java:100)           在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)           在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)           在com.datastax.bdp.search.solr.auth.DseAuthenticationFilter.doFilter(DseAuthenticationFilter.java:102)           在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)           在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)           在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)           在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)           在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)           在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)           在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)           在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)           在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:606)           在org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)           在java.lang.Thread.run(未知来源)   错误[http-8983-1] 2014-08-01 19:12:52,088 SolrDispatchFilter.java(第696行)错误请求异常:超时后无响应:60000   org.apache.solr.common.SolrException:超时后没有响应:60000           在com.datastax.bdp.search.solr.handler.shard.netty.NettyShardHandler.waitForResponse(NettyShardHandler.java:115)           at com.datastax.bdp.search.solr.handler.shard.netty.NettyShardHandler.takeCompletedOrError(NettyShardHandler.java:89)           at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:297)           at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:137)           在org.apache.solr.core.SolrCore.execute(SolrCore.java:1888)           在org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:723)           在com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.execute(CassandraDispatchFilter.java:185)           在org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:413)           在org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:197)           在com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.doFilter(CassandraDispatchFilter.java:147)           在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)           在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)           在com.datastax.bdp.cassandra.audit.SolrHttpAuditLogFilter.doFilter(SolrHttpAuditLogFilter.java:218)           在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)           在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)           在com.datastax.bdp.search.solr.auth.CassandraAuthorizationFilter.doFilter(CassandraAuthorizationFilter.java:100)           在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)           在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)           在com.datastax.bdp.search.solr.auth.DseAuthenticationFilter.doFilter(DseAuthenticationFilter.java:102)           在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)           在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)           在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)           在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)           在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)           在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)           在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)           在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)           在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:606)           在org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)           在java.lang.Thread.run(未知来源)   ERROR [http-8983-1] 2014-08-01 19:12:52,089 SolrDispatchFilter.java(第697行)错误请求参数:facet = true& facet.mincount = 1& q = retailer_id:35788 + AND + -ds_product_id:310772487595& ; facet.limit = 10安培; facet.field = ds_product_id&安培;重量= javabin&安培;版本= 2及行= 0

最佳, 拉莫

2 个答案:

答案 0 :(得分:0)

不应该出现任何问题,您运行了多少并发查询以及Solr核心数量是多少?如果只在一个核心上运行查询,有什么改变吗?您的查询是否长期运行?

请记住,默认的Solr HTTP配置没有超时,这通常是一件坏事,并使用产生数百个线程的旧IO模型,而我们的Netty配置在60秒时超时,并优化使用方式减少占用空间的线程较少,因此如果您的查询运行时间很长,在Netty情况下,您必须增加超时并可能增加工作线程数。

答案 1 :(得分:0)

Netty的默认超时时间为60秒。请参阅dse.yaml

中的 netty_client_request_timeout