我们有solr路由器和分片。当在所有分片上进行分面搜索时,它会出现在路由器的jetty日志中。
org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset by peer: socket write error
org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
后面是有关内部服务器错误的异常。我们运行分布在多个服务器上的80个分片。路由器在自己的节点上运行。
UPD: 在SOLR的HttpCommComponent类中,它使用HttpClient类将请求汇总到分片,我注意到MultiThreadedHttpConnectionManager上的以下集合: mgr.getParams()setDefaultMaxConnectionsPerHost(20);
在我看来,对80多个分片的设置太少了。
答案 0 :(得分:0)
经过一些调试后我发现,其中一个请求的大小为4,4MB。 tomcat6中的默认maxPostSize是2MB(http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html)。
将其更改为10MB大大改善了solr端的情况。