SOLR sunucusunu çağırdığımızda "bağlantı sıfırlama" hatasıyla karşılaşıyoruz. Ve eşzamanlı yükümüz oldukça küçük. İşte Solr istemci tarafında "Bağlantı Sıfırlama" gerçekleşiyor
solr için Tomcat bağlayıcı yapılandırma geçerli:<Connector port="8983" protocol="HTTP/1.1"
connectionTimeout="20000" maxThreads="40000" minSpareThreads="400" maxSpareThreads="5000" maxKeepAliveRequests="100" URIEncoding="UTF-8"
redirectPort="8943" />
Ve burada bizim SOLR müşteriden var olduğunu: SOLR istemci kodu ile okuyarak çekim sıkıntıdan sonra, bulduğumuz
Caused by: org.apache.solr.client.solrj.SolrServerException: java.net.SocketException: Connection reset
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:472)
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:243)
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89)
at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:122)
... 36 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
Bu, SOLR'ın Tomcat yapılandırmasında uygun olmayan bir bağlantı zaman aşımı ayarı nedeniyle olabilir. Onu varsayılan olarak değiştirmeye karar veriyoruz (sonsuz zaman aşımı). Öyleyse, sorum şu, bu değeri sonsuza ayarlarken diğer performans sorunlarını ortaya çıkaracak mı?
Solr sunucusu bazı web sunucusu tarafından önlenmiş (örn. Apache)? Olabilecek en kötüsü, IMO, bazı istemcinin bağlantı kurması ve bundan sonra tel üzerinde herhangi bir şey göndermemesi ve daha sonra bağlantıyı keserek dosya tanıtıcı sızmasına neden olmasıdır. Önündeki bir web sunucusu bu sorunu hafifletebilir. – user1452132