我们刚从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
最佳, 拉莫
答案 0 :(得分:0)
不应该出现任何问题,您运行了多少并发查询以及Solr核心数量是多少?如果只在一个核心上运行查询,有什么改变吗?您的查询是否长期运行?
请记住,默认的Solr HTTP配置没有超时,这通常是一件坏事,并使用产生数百个线程的旧IO模型,而我们的Netty配置在60秒时超时,并优化使用方式减少占用空间的线程较少,因此如果您的查询运行时间很长,在Netty情况下,您必须增加超时并可能增加工作线程数。
答案 1 :(得分:0)
Netty的默认超时时间为60秒。请参阅dse.yaml
中的 netty_client_request_timeout